
    Owg                        d dl mZ d dlmZ d dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZ d dlmZ d dlZd dlmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ  d dl!m"c m#Z$ d d	l%m&Z&  G d
 d      Z' G d d      Z(y)    )annotations)datetimeN)using_pyarrow_string_dtype)	Timestamp)is_integer_dtypeis_numeric_dtype)CategoricalDtype)CategoricalIndexDatetimeIndexDatetimeTZDtypeIndexIntervalIndex
MultiIndexPeriodIndex
RangeIndexSeriesTimedeltaIndexisnaperiod_range)BaseMaskedArrayc                     e Zd Z ej                   eddd       e ej                  dej                               e ej                  dej                               e ej                  dej                               e eddd      ej                         e eddd      ej                         e eddd      ej                         e eddd      ej                          e ed             eg d       ed	dd
       eg ddd
       eg ddd
       ej,                   ed      d      g      d        Zd Zd Zd Zd Zd Zd Zd Zd Zej@                  jC                  d      d        Z"d  Z#d! Z$d" Z%d# Z&d$ Z'd% Z(d& Z)ej@                  jU                   e+       d'(      d)        Z,d* Z-ej@                  jC                  d      d+        Z.d, Z/d- Z0d. Z1d/ Z2d0 Z3d1 Z4d2 Z5d3 Z6ej@                  jo                  d4d5 d6 g      ej@                  jC                  d      d7               Z8d8 Z9ej@                  jo                  d9d:d;g      ej@                  jo                  d<d=d>g      ej@                  jo                  d?d:d;g      d@                      Z:dA Z;ej@                  jx                  dB        Z=dC Z>dD Z?dE Z@dF ZAdG ZBdH ZCdI ZDdJ ZEdK ZFdL ZGdM ZHdN ZIdO ZJdP ZKy=)QTestBaser         startstopstep   dtypeabcde)r   a   br   c20130101D)periodsfreq)z0 days 01:00:00z1 days 01:00:00z2 days 01:00:00z3 days 01:00:00z4 days 01:00:00ztimedelta64[ns])r!   r*   )z
2013-01-01z
2013-01-02z
2013-01-03z
2013-01-04z
2013-01-05zdatetime64[ns]   right)closedparamsc                    |j                   S Nparamselfrequests     Y/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/test_old_base.pysimple_indexzTestBase.simple_index(   s    B }}    c                    t        |t              rt        j                  d       dj	                  g d      }t        j
                  t        |      5   t        |              d d d        y # 1 sw Y   y xY w)Nz#RangeIndex() is a valid constructor|)zNIndex\(\.\.\.\) must be called with a collection of some kind, None was passedzPDatetimeIndex\(\) must be called with a collection of some kind, None was passedzQTimedeltaIndex\(\) must be called with a collection of some kind, None was passedz:__new__\(\) missing 1 required positional argument: 'data'z2__new__\(\) takes at least 2 arguments \(1 given\)match)
isinstancer   pytestskipjoinraises	TypeErrortype)r5   r8   msgs      r7   test_pickle_compat_constructionz(TestBase.test_pickle_compat_constructionK   s^    lJ/KK=>hh	
 ]]9C0 	!D 	! 	! 	!s   A..A7c                   t        |t        t        t        f      rt	        j
                  d       |}dt        |      j                   }t	        j                  t        |      5  |j                  d       d d d        t	        j                  t        |      5  |j                  dd       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Nz"Tested in test_ops/test_arithmeticz\This method is only implemented for DatetimeIndex, PeriodIndex and TimedeltaIndex; Got type r<   r$   r   )r>   r   r   r   r?   r@   rD   __name__rB   NotImplementedErrorshiftr5   r8   idxrE   s       r7   
test_shiftzTestBase.test_shift^   s    l]NK$PQKK<=((,S	(:(:';= 	 ]].c: 	IIaL	]].c: 	IIaO	 		 		 	s   &B7C7C Cc                    |}t        j                  t        d      5   t        |      |g        d d d        y # 1 sw Y   y xY w)Nz"Index.name must be a hashable typer<   name)r?   rB   rC   rD   r5   r8   rL   s      r7    test_constructor_name_unhashablez)TestBase.test_constructor_name_unhashablel   s=     ]]9,PQ 	$DIc#	$ 	$ 	$s	   ;Ac           	        |j                         }t        |t              sSd|_        t	        |      }t        j                  ||       t	        |d      }d|_        t        j                  ||       y ddg|_        t	        |      }t        j                  |t	        t	        g dd      ddg             t	        |dd	g      }t        j                  |t	        t	        g dd      dd	g             y )
NfoobarrO   ))rT   one)rT   two)rU   rV   )bazrW   )quxrV   )rY   rW   objectr    )namesAB)copyr>   r   rP   r   tmassert_index_equalr[   )r5   r8   expectedresults       r7   test_create_index_existing_namez(TestBase.test_create_index_existing_names   s      $$&(J/!HM8_F!!&(38%0F!HM!!&(3#U^HN8_F!! '
 !%.$ 8C:6F!! '
 *r9   c                   |}t        |t              rJ t        |      t        u rt	        j
                  d       t        |j                        st        |t              rt	        j
                  d       t        |j                        j                  }t        |      j                  }dj                  d| dd| d| dg      }t	        j                  t        |      5  |d	z   d d d        dj                  d
| dd| d| dg      }t	        j                  t        |      5  d	|z   d d d        |j                  dd      }t	        j                  t        |      5  |d	z   d d d        |j                  dd      }t	        j                  t        |      5  d	|z   d d d        |j                  dd      }t	        j                  t        |      5  |d	z   d d d        |j                  dd      }t	        j                  t        |      5  d	|z   d d d        y # 1 sw Y   >xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   wxY w# 1 sw Y   y xY w)NzNot applicable for IndexTested elsewhere.r;   z'unsupported operand type\(s\) for \*: 'z' and 'int'zIcannot perform (__mul__|__truediv__|__floordiv__) with this index type: ()r<   r$   z1unsupported operand type\(s\) for \*: 'int' and ''zLcannot perform (__rmul__|__rtruediv__|__rfloordiv__) with this index type: (*/z//)r>   r   rD   r   r?   r@   r   r!   r   _datarH   rA   rB   rC   replace)	r5   r8   rL   typclslmsgrmsgdiv_errfloordiv_errs	            r7   test_numeric_compatzTestBase.test_numeric_compat   s2    c:...9KK23L../:.4
 KK+,399o&&3i  xx:3%{K%%(E3%q2
 ]]9D1 	!G	xxDSEK%%(E3%q2
 ]]9D1 	G	 ,,sC(]]9G4 	!G	,,sC(]]9G4 	G	 ||C.]]9L9 	1H	||C.]]9L9 	H	 	/	 		 		 		 		 		 	sH   "H$)H1$H>I
II"$H.1H;>I
II"I+c                ,   |j                   t        dfv rt        j                  d       |}|j                   j                  dv r|j                         |j                  j                         k(  sJ |j                         |j                         j                         k(  sJ |j                         |j                  j                         k(  sJ |j                         |j                         j                         k(  sJ y d}t        |t              rd}t        j                  t        |      5  |j                          d d d        t        j                  t        |      5  |j                          d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nstringre   iufcbmzcannot perform (any|all)zP'IntervalArray' with dtype interval\[.*\] does not support reduction '(any|all)'r<   )r!   rZ   r?   r@   kindall_values	to_seriesanyr>   r   rB   rC   rK   s       r7   test_logical_compatzTestBase.test_logical_compat   s3   &(!33KK+,99>>X%779 1111779 3 3 5555779 1111779 3 3 5555,C#}-8  y4 	y4 	   s   0E>$F
>F
Fc                    t        |t              r+t        j                  dt	        |      j
                          |}t        j                  t        t        |            |       y )NNot a valid repr for )
r>   r   r?   r@   rD   rH   r_   r`   evalreprrQ   s      r7   test_repr_roundtripzTestBase.test_repr_roundtrip   sI    lM2KK/\0B0K0K/LMN
d49os3r9   c                ,   t        |t              r+t        j                  dt	        |      j
                          |}|j                  d      }t        j                  dd       5  t        |       dt        |      vsJ 	 d d d        y # 1 sw Y   y xY w)Nr}   2   zdisplay.max_seq_itemsz...)r>   r   r?   r@   rD   rH   repeatpdoption_contextr   strrQ   s      r7   test_repr_max_seq_item_settingz'TestBase.test_repr_max_seq_item_setting   s}    lM2KK/\0B0K0K/LMNjjn6= 	)IC(((	) 	) 	)s   %B

Bz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                   i }t        |t              r|j                  |d<   nbt        |t        t        t
        f      rt        j                  d       n1|j                  t        k(  r|j                  dk(  r|j                  |d<   t        |      } ||j                  fddi|}t        |j                  t              r*|j                  d      j                  |j                         }t        |t"        t$        f      r|j'                  d       }t)        j*                  ||       t        |t              rhd}t)        j,                  t.        |	      5   |d|j0                  d
d|}d d d        t)        j2                  |j0                  |j0                  d       y t        |t4              ry t        |      t6        u rLt        |j                  t8        j                        s' ||j                  fdd
i|}t)        j*                  ||       t        |j:                  t<              rt9        j>                  |j:                  j@                  |j:                  j@                        sJ t)        j2                  |j:                  j@                  |j:                  j@                  d       t9        j>                  |j:                  jB                  |j:                  jB                        sJ t)        j2                  |j:                  jB                  |j:                  jB                  d       y |j                  dk(  rt9        j>                  |j:                  jD                  |j:                  jD                        sJ t)        j2                  |j:                  jD                  |j:                  jD                  d       y |j                  dv r,t)        j>                  |j:                  |j:                        sJ tG        |j                        y  ||j                  fdd
i|}t)        j2                  |j                  |j                  d       y # 1 sw Y   xY w)Nr*   zaRangeIndex cannot be initialized from data, MultiIndex and CategoricalIndex are tested separatelybooleanr!   r^   TUTCz2The 'ordinal' keyword in PeriodIndex is deprecatedr<   F)ordinalr^   same)
check_samezstring[python])zstring[pyarrow]zstring[pyarrow_numpy] )$r>   r   r*   r   r   r
   r?   r@   r!   rZ   inferred_typerD   valuesr   tz_localize
tz_converttzr   r   
_with_freqr_   r`   assert_produces_warningFutureWarningasi8assert_numpy_array_equalr   r   nprx   r   shares_memoryrj   _mask_ndarrayrI   )r5   indexinit_kwargs
index_typerb   depr_msgs         r7   test_ensure_copied_dataz TestBase.test_ensure_copied_data   s7    e[)"'**K
J8HIJKKH [[F"u':':i'G#(;;K %[
ELLCtC{Cekk?3''.99%((CFem^<=$$T*E
eV,e[)KH++MJ S#REJJURkRS''

FKKFS}-%[E!*U[["((*KH5HKHF!!&%0%--9''(;(;V^^=Q=QRRR++MM'')=)=& ''(;(;V^^=Q=QRRR++MM'')=)=&  00''(>(>@W@WXXX++MM**FNN,C,CPV  LL''FFF)%++66 G  H5HKHF''fmmPVW=S Ss   QQc                   |j                   j                          |j                         }|j                  r|dk(  sJ y |j	                  |d          |j                         }|j                  d      }t        |t        t        f      s<t        |      t        u r$t        |j                  t        j                        r||kD  sJ |j                  dk(  r||kD  sJ y y )Nr   TdeeprZ   )_engineclear_mappingmemory_usageemptyget_locr>   r   r   rD   r   r!   r   r   )r5   r   rb   result2result3s        r7   test_memory_usagezTestBase.test_memory_usage7  s    ##%##%;;Q;; 	eAh$$&$$$$/
 %*m!<=K5 EKK)JV###(*W$$$ +r9   c                   t        |t              r+t        j                  t	        |       j
                   d       |j                         }t        j                  |      j                         }t        j                  ||d       y )Nz separately testedF)check_dtype)r>   r
   r?   r@   rD   rH   argsortr   arrayr_   r   )r5   r   rb   ra   s       r7   test_argsortzTestBase.test_argsortO  s_    e-.KK4:..//ABC88E?**,
##FH%Hr9   c                J   t        j                  |      }|j                         }t        j                  ||       t        j                  |d      }|j                  d      }t        j                  ||       t	        |t
        t        f      r{d}t        j                  t        |      5  t        j                  |d       d d d        d}t        j                  t        |      5  t        j                  |d	       d d d        y y # 1 sw Y   HxY w# 1 sw Y   y xY w)
N	mergesort)rv   %the 'axis' parameter is not supportedr<   r$   axisz&the 'order' parameter is not supported)r#   r%   )order)
r   r   r_   r   r>   r
   r   r?   rB   
ValueError)r5   r   rb   ra   rE   s        r7   test_numpy_argsortzTestBase.test_numpy_argsortW  s    E"==?
##FH5E4==k=2
##FH5 e.
;<9Cz5 *

5q)* ;Cz5 4

5
34 4 =* *4 4s   .D+DDD"c                   d}|j                         }|j                  } ||j                  j                  |      |j                        }t        j                  |j                  |      |       |}t        j                  t        |            } ||j                  j                  |      |j                        }t        j                  |j                  |      |       y )Nr   rO   )
r^   _constructorr   r   rP   r_   r`   r   arangelen)r5   r8   reprL   new_index_clsra   s         r7   test_repeatzTestBase.test_repeatp  s    !(( !2!23!7chhG
cjjox8iiC! !2!23!7chhG
cjjox8r9   c                   d}|}|j                  |      }t        j                  t        j                   ||      |       d}t	        j
                  t        |      5  t        j                   ||d       d d d        y # 1 sw Y   y xY w)Nr   r   r<   r   r   )r   r_   r`   r   r?   rB   r   )r5   r8   r   rL   ra   rE   s         r7   test_numpy_repeatzTestBase.test_numpy_repeat|  sl    ::c?
biiS18<5]]:S1 	(IIc3Q'	( 	( 	(s   A??Bc                H   t        |t        t        f      st        |j                        rt        j                  d       |}|}t        |t        t        f      r|j                  d       }dgt        |      z  }|j                   ||            }|}t        j                  ||       dgdgt        |dd        z  z   }t        |j                  g|dd  j!                         z   |j                        }|j                   ||            }t        j                  ||       y )Nre   TFr$   r    )r>   r   r   r   r!   r?   r@   r   r   r   r   wherer_   r`   r   	_na_valuetolist)r5   listlike_boxr8   klassrL   condrb   ra   s           r7   
test_wherezTestBase.test_where  s    l]K$@AEUF
 KK+,cM>:;..&CvC 5;'
fh/w$#c!"g,..#--3qr7>>+;;399M5;'
fh/r9   c                T   |dd }t        |      st        j                  d       d }|j                  t        k(  r|j
                  dk(  rt        }d}t        j                  ||      5  |j                  d|d         }d d d        |dd j                        sJ y # 1 sw Y    xY w)Nr$      Not applicable for empty indexr   z<The behavior of Index.insert with object-dtype is deprecatedr<   r   )r   r?   r@   r!   rZ   r   r   r_   r   insertequals)r5   r   trimmedwarnrE   rb   s         r7   test_insert_basezTestBase.test_insert_base  s    !*5zKK89 ;;& U%8%8I%E DL''C8 	1^^AuQx0F	1Qqz  (((	1 	1s   )BB'z.completely different behavior, tested elsewher)reasonc                <   t        |      dkD  rt        }nt        }t        |      dk(  rd}nd}t        j                  ||      5  |j                  dd       d d d        dj                  dd	g      }t        j                  t        |      5  |j                  t        |      d
z   d
       d d d        t        j                  t        |      5  |j                  t        |       d
z
  d
       d d d        y # 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)Nr   z5index (0|0.5) is out of bounds for axis 0 with size 0zBslice indices must be integers or None or have an __index__ methodr<   g      ?rT   r;   z5index -?\d+ is out of bounds for axis 0 with size \d+zloc must be an integer betweenr$   )r   rC   
IndexErrorr?   rB   r   rA   )r5   r   errrE   s       r7   test_insert_out_of_boundsz"TestBase.test_insert_out_of_bounds  s     u:>CCu:?ICVC]]3c* 	%LLe$	% hhH0
 ]]:S1 	,LLUa+	, ]]:S1 	-LL#e*q!,	- 	-	% 	%	, 	,	- 	-s$   C:D D:DDDc                r   t        |      st        j                  d       t        |t              r+t        j                  t        |       j                   d       |dd  }|j                  d      }|j                  |      sJ |j                  |j                  k(  sJ |d d }|j                  d      }|j                  |      sJ |j                  |j                  k(  sJ t        |      }d| d| }t        j                  t        |      5  |j                  |       d d d        y # 1 sw Y   y xY w)	Nr    tested elsewherer$   r   zindex z' is out of bounds for axis 0 with size r<   )r   r?   r@   r>   r   rD   rH   deleter   rP   rB   r   )r5   r   ra   rb   lengthrE   s         r7   test_delete_basezTestBase.test_delete_base  s   5zKK89eZ(KK4:..//@AB9a}}X&&&{{hmm+++":b!}}X&&&{{hmm+++UvhEfXN]]:S1 	!LL 	! 	! 	!s   D--D6c                   t        |t              r+t        j                  t	        |      j
                   d       t	        |      t        u xr% t        |j                  t        j                         }|j                  |      sJ |j                  |j                               sJ |s&|j                  |j                  t                    sJ |j                  t        |            rJ |j                  t        j                  |            rJ t        |t              s9|s7t        |t              }|j                  |      sJ |j                  |      sJ |j                   dk(  r|j                  t#        |            rJ y y )Nr   r    r$   )r>   r   r?   r@   rD   rH   r   r!   r   r   r^   astyperZ   listr   r   nlevelsr   )r5   r   	is_ea_idxsame_valuess       r7   test_equalszTestBase.test_equals  s2   e]+KK4;//00ABCK5(REKK1R-R	||E"""||EJJL)))<<V 4555<<U,,,<<000 %,YV4K<<,,,%%e,,,==A||F5M2222 r9   c                   |}t        |      }|dd }|dd j                  |dd       }|dd }d}t        j                  t        |      5  ||k(   d d d        t        j                  dg|z        }t        j                  dg|dz
  z  dgz         }	t        j                  ||k(  |       t        j                  ||k(  |	       t        j                  |      }
t        j                  |dd       }t        j                  |dd j                  |dd             }t        j                  |dd       }t        j                  t        |      5  ||k(   d d d        t        j                  ||
k(  |       t        j                  ||k(  |	       t        |
      }t        |      }t        |      }t        |      }t        j                  t        |      5  ||k(   d d d        t        j                  ||k(  |       t        j                  ||k(  |	       t        j                  t        d	      5  ||k(   d d d        t        j                  t        d	      5  ||k(   d d d        t        j                  t        d	      5  ||k(   d d d        d
}t        j                  t        |      5  ||k(   d d d        t        j                  t        d	      5  ||k(   d d d        t        |t              skt        j                  dgt        |      dz
  z  ddgz         }|d   }t        j                  ||k(  |       t        j                  ||k(  t        |             y y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   SxY w# 1 sw Y   7xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   r   r$   z)Lengths must match|could not be broadcastr<   TFzLengths must matchz3Can only compare identically-labeled Series objectsr   )r   appendr?   rB   r   r   r   r_   r   r   r>   r   assert_series_equal)r5   r8   index_anindex_bindex_cindex_drE   	expected1	expected2array_aarray_barray_carray_dseries_aseries_bseries_cseries_d	expected3items                       r7   test_equals_opzTestBase.test_equals_op  sQ   L!B-!B-&&wr"~6!A,9]]:S1 	w	HHdVaZ(	HHdVq1u-78	
##Gw$6	B
##Gw$6	B ((7#((71R=)((71R=//2?@((71Q<(]]:S1 	w	
##Gw$6	B
##Gw$6	B '?'?'?'?]]:S1 	 x	  	##Gx$7C
##Gx$7C ]]:-AB 	w	]]:-AB 	 x	 ]]:-AB 	w	C]]:S1 	! 	!]]:-AB 	 	  ':.%CL1,<!=u!MNI2;D''4C""8t#3VI5FG /[	 		 		  	 	 		  	 	 		! 	!	  	 s`   M!M.M;1NNN".N/N;!M+.M8;NNN"N,/N8;Oc                F   t        |j                        st        |t              rt	        j
                  d       |}|D cg c]  }t        |       }}d}t        j                  t        |      5  |j                         |k(  sJ 	 d d d        y c c}w # 1 sw Y   y xY w)Nre   Index\.format is deprecatedr<   )r   r!   r>   r   r?   r@   r   r_   r   r   format)r5   r8   rL   xra   rE   s         r7   test_formatzTestBase.test_format:  s    L../:-4
 KK+,$'(qCF((,''SA 	,::<8+++	, 	, )	, 	,s   B2BB c                   t        |t        t        f      rt        j                  d        t        |      g       }d}t        j                  t        |      5  |j                         g k(  sJ 	 d d d        t        j                  t        |      5  |j                  d      dgk(  sJ 	 d d d        y # 1 sw Y   GxY w# 1 sw Y   y xY w)NTested elsewherer   r<   TrO    )
r>   r   r   r?   r@   rD   r_   r   r   r   )r5   r8   	empty_idxrE   s       r7   test_format_emptyzTestBase.test_format_emptyF  s    l[*$=>KK*+&D&r*	,''SA 	,##%+++	,''SA 	7###.2$666	7 	7	, 	,	7 	7s   B7C7C Cc                `   t        |      dk(  rt        j                  d       y |j                  t        k(  r#t        j                  |j                   d       y t        |t              r8t        |j                        r#t        j                  d|j                          y t        |t              rM|j                  d      }d}t        j                  t        |      5  |j                  |d          d d d        y |j                  d      }|j                  |d         }t        j                  ||       ||usJ d	}t        j                  t        |      5  |j                  |d   g       d d d        |j                  d      }|j                   }t"        j$                  |d
<    t'        |      |      }d}d}t        j(                  t*        |      5  t        j                  t        |      5  |j                  |d   d       d d d        d d d        t#        j,                  dgt        |      z  t              }d|d
<   t        j.                  |j0                  |       |j2                  du sJ y # 1 sw Y   y xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   zNot relevant for empty indexz cannot hold NAszNot relevant for Index with Tr   "isna is not defined for MultiIndexr<   z"'value' must be a scalar, passed: r$   zdoes not support 'downcast'z7The 'downcast' keyword in .*Index\.fillna is deprecatedinfer)downcastFr    )r   r?   r@   r!   boolr>   r   r   r   r^   rB   rI   fillnar_   r`   rC   rx   r   nanrD   r   r   r   r   _isnanhasnans)r5   r   rL   rE   rb   r   msg2ra   s           r7   test_fillnazTestBase.test_fillnaQ  s+   u:?KK67[[D KK5;;-'789u%*:5;;*GKK6u{{mDEz***$*'C6C2#> #

3q6"# # **$*'CZZA'F!!&#.$$$6Cy4 %

CF8$% **$*'C[[FF1I$u+f%C/CMD++MF 9]]#6cB 9JJs1vJ899
 xx#c( 2$?HHQK''

H=;;$&&&;# #% %9 99 9s<   "I?JJ$:JJ$?JJJ!	J$$J-c                <   t        |      dk(  r>t        j                  |j                         t	        j
                  g t                     y t        |t              rG|j                         }d}t        j                  t        |      5  |j                          d d d        y |j                  st        j                  |j                         t	        j                  t        |      t                     t        j                  |j                         t	        j                   t        |      t                     y t        |      }t        j                  |j                         |       t        j                  |j                         |        y # 1 sw Y   y xY w)Nr   r    r  r<   )r   r_   r   r   r   r   r	  r>   r   r^   r?   rB   rI   r  zerosnotnaones)r5   r   rL   rE   rb   s        r7   
test_nullszTestBase.test_nulls{  s    u:?''

bhhr6NOz***,C6C2#> 
 ''

bhhs5zQU6VW''rwws5zQU7VW%[F''

f=''w? s   
FFc                F    |}|j                   rJ |d d j                   sJ y Nr   )r   rQ   s      r7   
test_emptyzTestBase.test_empty  s%    99}2Aw}}}r9   c                    |}|j                   rF|j                  ||      }|}|dk(  rt        j                  |      }t	        j
                  ||       y y )N)howouter)	is_uniquerA   algos	safe_sortr_   r`   )r5   	join_typer8   rL   joinedra   s         r7   test_join_self_uniquezTestBase.test_join_self_unique  sP    ==XXcyX1F#HG# ??84!!&(3 r9   c                    t        |t        t        f      rt        j                  d       |}|j                  d       }t        j                  ||d       y )Nre   c                    | S r1   r   )r   s    r7   <lambda>z#TestBase.test_map.<locals>.<lambda>  s    1 r9   equivexact)r>   r   r   r?   r@   mapr_   r`   )r5   r8   rL   rb   s       r7   test_mapzTestBase.test_map  sC    l^[$ABKK+,%
fc9r9   mapperc                N    t        | |      D ci c]  \  }}||
 c}}S c c}}w r1   )zip)r   r   eis       r7   r#  zTestBase.<lambda>  s#    C4F"GDAq1a4"G "Gs   !c                    t        | |      S r1   )r   )r   r   s     r7   r#  zTestBase.<lambda>  s    &"7 r9   c                   |}t        |t        t        t        f      rt	        j
                  d        ||j                  |      }|j                  |      }t        j                  ||d       d }|j                  j                  dk(  r|j                  }t        t        j                  gt        |      z  |      }|j                   |||            }t        j                  ||       y )Nre   r$  r%  fr    )r>   r   r   r   r?   r@   r   r'  r_   r`   r!   rv   r   r   r  r   )	r5   r)  r8   r6   rL   identityrb   r!   ra   s	            r7   test_map_dictlikezTestBase.test_map_dictlike  s     cM>;GHKK+,#**c*"
fc9 99>>S IIE"&&CH,E:#./
fh/r9   c                    t        |t              rt        j                  d       |}|j	                  t
              }t        |D cg c]  }t        |       c}      }t        j                  ||       y c c}w )NzSee test_map.py)	r>   r
   r?   r@   r'  r   r   r_   r`   )r5   r8   rL   rb   r   ra   s         r7   test_map_strzTestBase.test_map_str  sZ    l$45KK)*#.Q#a&./
fh/ /s   A6r^   TFrP   NrT   orderedc                   |}|r|j                  |      }t        |      }|j                  ||      }t        |||      }t	        j
                  ||d       t        |j                         j                         d d |      }|j                  ||      }t        |||      }t	        j
                  ||d       |du r9|j                  d	|      }t        ||
      }t	        j
                  ||d       y y )N)r5  )r^   )rP   r5  Tr%  r   )rP   r!   FcategoryrO   )renamer	   r   r
   r_   r`   uniquer   )	r5   r^   rP   r5  r8   rL   r!   rb   ra   s	            r7   test_astype_categoryzTestBase.test_astype_category  s    
 **T"C !1E-#CdGD
fhd; !!4!4!6s!;WEE-#Cd%@
fhd;eZZ
Z6F'$7H!!&($?	 r9   c                x   |j                         }|j                  du sJ |d d }|j                  du sJ |j                  d|d         }|j                  du sJ |j                  dt        j                        }|j                  du sJ |j                  dt        j                        }|j                  du sJ y )NTr   F)drop_duplicatesr  r   r   r  )r5   r8   r   index_empty	index_dupindex_naindex_na_dups          r7   test_is_uniquezTestBase.test_is_unique  s    ,,.$&&& BQi$$,,, LLE!H-	""e+++ <<266*!!T)))  q"&&1%%...r9   c                z    |j                         }t        j                  |      }|j                   ~ |       J y r1   )r^   weakrefrefr   )r5   r8   r   rD  s       r7   test_engine_reference_cyclez$TestBase.test_engine_reference_cycle  s6     !!#kk% u}}r9   c                   t        |t              rt        j                  d       |}d}t        j                  t
        t        f|      5  |d d d f    d d d        t        |t              s_t        j                  t
        t        f|      5  |d    d d d        t        j                  t
        t        f|      5  |d    d d d        y d}t        j                  t        |      5  |d    d d d        t        j                  t        |      5  |d    d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w# 1 sw Y   WxY w# 1 sw Y   y xY w)Nr  z(Multi-dimensional indexing|too many|onlyr<   TFzonly integers, slices)r>   r   r?   r@   rB   r   r   r   rK   s       r7   test_getitem_2d_deprecatedz#TestBase.test_getitem_2d_deprecated  s%   lM2KK*+8]]J
33? 	4L	 #z*
J7sC D	
J7sC E
  *Cz5 D	z5 E
 	 	
    s<   
D!D-=D9)EE!D*-D69EEEc                    |}|j                  |d          |j                         }|j                  |j                  u sJ y r  )r   r^   _cache)r5   r8   rL   r^   s       r7   test_copy_shares_cachezTestBase.test_copy_shares_cache  s8    CFxxz{{cjj(((r9   c                   |}|j                  |d          |j                         }|j                  |j                  u sJ |j                  |j                        }|j                  |j                  usJ |j                  i k(  sJ y r  )r   _viewrI  _shallow_copyrj   )r5   r8   rL   shallow_copys       r7   test_shallow_copy_shares_cachez'TestBase.test_shallow_copy_shares_cache"  sz    CFyy{""cjj000((3""#**444""b(((r9   c                   |d d }t        j                  ddt         j                  ddg      }t        j                  |j                  |      |ddg   |ddg   d       t        t        dd	d      t        dd
d      t        j                  t        dd
d      t        dd	d      gd      j                  }t        d      t        d      g}|d   |ddg   |d   |ddg   i}t        j                  |j                  |      |       y )Nr   r$   r   r   r      )g      ?g       @i  r+      r   )r   z
2011-11-01z
2011-12-01)r   r   r  r_   assert_dict_equalgroupbyr   r   r   NaTr   r   )r5   r8   rL   
to_groupbyex_keysra   s         r7   test_index_groupbyzTestBase.test_index_groupby.  s   2AXXq!RVVQ23

KK
#31v;S!Q[%I	
 #r1%r1%r1%r1% 	
 & 	 \*Il,CDAJQFWQZaVE
S[[4h?r9   c                ^   |}t        |      }|j                  |      }|j                  |j                  k(  sJ t        j                  |d | |d       t        j                  ||d  |d       |j                  t        t        |            dz        }t        j                  ||d       y )NT)check_exactr   )r   r   r!   r_   r`   taker   range)r5   r8   r   Nrb   alts         r7   test_append_preserves_dtypez$TestBase.test_append_preserves_dtypeD  s    Je$||u{{***
fRaj%TB
fQRj%TBjjeAh!+,
fct<r9   c                   |}|j                   j                  dv rg| }t        |j                   |j                        }t        j                  ||       t        |       }t        j                  |t        |             y |j                   j                  dk(  r	t        }d}n6|r,|j                   dk(  rdd l
}	|	j                  j                  }d}nt        }d}t        j                  ||	      5  |  d d d        t        j                  ||	      5  t        |        d d d        y # 1 sw Y   6xY w# 1 sw Y   y xY w)
N)r-  urO   r0  z0ufunc 'invert' not supported for the input typesrt   r   zhas no kernelzbad operandr<   )r!   rv   r   r   rP   r_   r`   r   r   rC   pyarrowlibArrowNotImplementedErrorr?   rB   )
r5   r8   using_infer_stringrL   resra   res2r   rE   pas
             r7   test_invzTestBase.test_invQ  s
   99>>Z'$Ccjj[sxx8H!!#x0 3K<D""4)9:yy~~$H#		X(=$ff55%#s#.  s#.  	  s   1D*D6*D36D?c                    |}t        j                  t              5  |j                          d d d        y # 1 sw Y   y xY wr1   )r_   r   r   
is_booleanrQ   s      r7   test_is_boolean_is_deprecatedz&TestBase.test_is_boolean_is_deprecatedo  4    ''6 	NN	 	 	   6?c                    |}t        j                  t              5  |j                          d d d        y # 1 sw Y   y xY wr1   )r_   r   r   is_floatingrQ   s      r7   test_is_floating_is_deprecatedz'TestBase.test_is_floating_is_deprecatedu  4    ''6 	OO	 	 	rn  c                    |}t        j                  t              5  |j                          d d d        y # 1 sw Y   y xY wr1   )r_   r   r   
is_integerrQ   s      r7   test_is_integer_is_deprecatedz&TestBase.test_is_integer_is_deprecated{  rm  rn  c                    |}t        |      j                   d}t        j                  t        |      5  |j                          d d d        y # 1 sw Y   y xY w)Nz.holds_integer is deprecated. r<   )rD   rH   r_   r   r   holds_integerrK   s       r7   test_holds_integer_deprecatedz&TestBase.test_holds_integer_deprecated  sP    c##$$BC''SA 	 	  	  	 s   AAc                    |}t        j                  t        t        |      j                   d      5  |j                          d d d        y # 1 sw Y   y xY w)Nz.is_numeric is deprecated. r<   )r_   r   r   rD   rH   
is_numericrQ   s      r7   test_is_numeric_is_deprecatedz&TestBase.test_is_numeric_is_deprecated  sO    ''#Y''((CD
 	 NN		 	 	s   AAc                    |}t        j                  t        d      5  |j                          d d d        y # 1 sw Y   y xY w)Nz4Use pandas\.api\.types\.is_categorical_dtype insteadr<   )r_   r   r   is_categoricalrQ   s      r7   !test_is_categorical_is_deprecatedz*TestBase.test_is_categorical_is_deprecated  s>    ''I
 	!  		! 	! 	!s	   8Ac                    |}t        j                  t              5  |j                          d d d        y # 1 sw Y   y xY wr1   )r_   r   r   is_intervalrQ   s      r7   test_is_interval_is_deprecatedz'TestBase.test_is_interval_is_deprecated  rr  rn  c                    |}t        j                  t              5  |j                          d d d        y # 1 sw Y   y xY wr1   )r_   r   r   	is_objectrQ   s      r7   test_is_object_is_deprecatedz%TestBase.test_is_object_is_deprecated  s3    ''6 	MMO	 	 	rn  )LrH   
__module____qualname__r?   fixturer   r   r   r   float64float32uint64r\  int64int32int16int8r   r   r   r   r   from_breaksr8   rF   rM   rR   rc   rr   r{   r   r   markfilterwarningsr   r   r   r   r   r   r   r   skipifr   r   r   r   r   r   r  r  r  r  r   r(  parametrizer2  r4  r:  rA  arm_slowrE  rG  rJ  rO  rX  r_  ri  rl  rq  ru  rx  r{  r~  r  r  r   r9   r7   r   r   '   sT   V^^QRa0)"))ARZZ01)"))ARZZ01)"))ARYY/0%2q/2%2q/2%2q/2%2q/1$w- *+QS9 (
 V&
 &M%%eBi@9
@A@!&$2h-^*4) [[ VW9X X9Xv%0I42
9(0,)  [["$?  -	-6!. [[ VW3 X32<H|
,	7('T@$4: [[G7	
 [[ VW0 X0(0 [[VdE]3[[VdE]3[[Yu6@ 7 4 4@0/* [[ ,)
)@,=< !r9   r   c                     e Zd Z ej                   eddd       e ej                  dej                               e ej                  dej                               e ej                  dej                               e eddd      ej                         e eddd      ej                         e eddd      ej                         e eddd      ej                         g      d        Zd	 Zd
 Zd Zd Zd Zd Zd Zej2                  j5                  dej6                  ej8                  g      d        Zd Zy)TestNumericBaser   r   r   r   r   r    r.   c                    |j                   S r1   r2   r4   s     r7   r8   zTestNumericBase.simple_index  s     }}r9   c                0   t        |t              rt        j                  d       t	        |      }|j
                  }t        ddg|      } ||      }t        j                  ddg|j
                        }t        j                  |j                  |       y )Nre   r$   r   r    )r>   r   r?   r@   rD   r!   r   r   r   r_   r   rj   )r5   r8   	index_clsr!   rL   rb   ra   s          r7   test_constructor_unwraps_indexz.TestNumericBase.test_constructor_unwraps_index  ss    lJ/KK+,&	""QF%(388QF#))4
##FLL(;r9   c                <    |}|d   }|j                  |      du sJ y )Nr   F)$_can_hold_identifiers_and_holds_name)r5   r8   rL   keys       r7   test_can_hold_identifiersz)TestNumericBase.test_can_hold_identifiers  s)    !f77<EEEr9   c                   t        |t              rt        j                  d       t	        |      }|j
                  } |g |d      }|j                         }|j                  dk(  sJ |j                  |      }t        j                  | ||d      d       d}t        j                  t        |      5  |j                  |      }d d d        t        j                  | ||d      d       y # 1 sw Y   *xY w)	Nre   Foo)r!   rP   rO   Tr%  z,Passing a type in .*Index.view is deprecatedr<   )r>   r   r?   r@   rD   r!   viewrP   r_   r`   r   r   )r5   r8   r  r!   rL   idx_viewrE   s          r7   	test_viewzTestNumericBase.test_view  s    lJ/KK+,&	""%e488:}}%%%88E?
c9XE#B$O<''SA 	+xx	*H	+
c9XE#B$O	+ 	+s   7C22C;c                ^   t        |t              rt        j                  d       |}t	        d |D              }|D cg c]  }t        |      j                  |       }}d}t        j                  t        |      5  |j                         |k(  sJ 	 d d d        y c c}w # 1 sw Y   y xY w)Nr  c              3  D   K   | ]  }t        t        |              y wr1   )r   r   ).0r   s     r7   	<genexpr>z.TestNumericBase.test_format.<locals>.<genexpr>  s     1CF1s    r   r<   )r>   r   r?   r@   maxr   ljustr_   r   r   r   )r5   r8   rL   	max_widthr   ra   rE   s          r7   r   zTestNumericBase.test_format  s    lM2KK*+1S11	589CFLL+99,''SA 	,::<8+++	, 	, :	, 	,s   !B>B##B,c                    |}|j                  d|d         }t        |d   gt        |      z   |j                        }t	        j
                  ||d       y )Nr   r    Tr%  )r   r   r   r!   r_   r`   )r5   r8   r   rb   ra   s        r7   test_insert_non_naz"TestNumericBase.test_insert_non_na  sN     aq*%(d5k1E
fhd;r9   c                   |}|}|t         j                  u r4t        |d   t         j                  gt        |dd        z   t              }n]t        |d   t
        j                  gt        |dd        z         }|j                  j                  dk(  rt        ||j                        }|j                  d|      }t        j                  ||d       y )Nr   r$   r    r0  Tr%  )r   rU  r   r   rZ   r   r  r!   rv   r   r_   r`   )r5   nulls_fixturer8   r   na_valra   rb   s          r7   test_insert_nazTestNumericBase.test_insert_na  s    RVVeAh/$uQRy/APHeAh/$uQRy/ABH{{3& =a(
fhd;r9   c                   t        |      }|t        u rt        d      }n |t        j                  dd            }t        j                  dd      dz  }t	        |t        j
                        }|dz  }t        j                  ||       d|z  }t        j                  ||       t	        |t        j
                        }t        j                  dd      }||z
  }t        j                  ||       t	        | t        j
                        }t        j                  dd      }||z
  }t        j                  ||       y )Nr   r  r    g	@r  )	rD   r   r   r   r   r  r_   r`   r  )	r5   r8   r  rL   arrra   fidxr#   rb   s	            r7   $test_arithmetic_explicit_conversionsz4TestNumericBase.test_arithmetic_explicit_conversions  s    &	
"Q-CBIIaw78C ii)C/BJJ/Sy
dH-Sy
dH- BJJ/HHQi(
fh/#RZZ0HHQi(T
fh/r9   complex_dtypec                j    |j                  |      }t        |      t        u r|j                  |k(  sJ y r1   )r   rD   r   r!   )r5   r  r8   rb   s       r7   test_astype_to_complexz&TestNumericBase.test_astype_to_complex  s2    $$]3F|u$)FFF)Fr9   c                    t        |t              rt        j                  d        t	        |      g d|j
                        } t	        |      g d|j
                        }t        j                  ||       y )Nz.casting of strings not relevant for RangeIndex)012r    )r   r$   r   )r>   r   r?   r@   rD   r!   r_   r`   )r5   r8   rb   ra   s       r7   test_cast_stringz TestNumericBase.test_cast_string   s[    lJ/KKHI#l#O<;M;MN%4%i|7I7IJ
fh/r9   N)rH   r  r  r?   r  r   r   r   r   r  r  r  r\  r  r  r  r  r8   r  r  r  r   r  r  r  r  r  	complex64
complex128r  r  r   r9   r7   r  r    s2   V^^QRa0)"))ARZZ01)"))ARZZ01)"))ARYY/0%2q/2%2q/2%2q/2%2q/1	
	<F
P$	,<< 08 [[_r||R]].KLG MG
0r9   r  ))
__future__r   r   rC  numpyr   r?   pandas._configr   pandas._libs.tslibsr   pandas.core.dtypes.commonr   r   pandas.core.dtypes.dtypesr	   pandasr   r
   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr_   pandas.core.algorithmscore
algorithmsr  pandas.core.arraysr   r   r  r   r9   r7   <module>r     sb    "     5 ) 7      & & .} }@~0 ~0r9   