
    .ib                        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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)	Timestamp)Pandas4Warning)is_integer_dtypeis_numeric_dtype)CategoricalDtype)CategoricalIndexDatetimeIndexDatetimeTZDtypeIndexIntervalIndex
MultiIndexPeriodIndex
RangeIndexSeriesStringDtypeTimedeltaIndexisnaperiod_range)BaseMaskedArrayc                  n   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)d' Z*d( Z+d) Z,ej@                  jC                  d      d*        Z-d+ Z.d, Z/d- Z0d. Z1d/ Z2d0 Z3ej@                  ji                  d1d2 d3 g      ej@                  jC                  d      d4               Z5d5 Z6ej@                  ji                  d6d7d8g      ej@                  ji                  d9d:d;g      ej@                  ji                  d<d7d8g      d=                      Z7d> Z8ej@                  jr                  d?        Z:d@ Z;dA Z<dB Z=dC Z>dD Z?dE Z@y:)F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     `/var/www/app/trading-bot/venv/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\)z!'NoneType' object is not iterablematch)
isinstancer   pytestskipjoinraises	TypeErrortype)r6   r9   msgs      r8   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@   rA   rE   __name__rC   NotImplementedErrorshiftr6   r9   idxrF   s       r8   
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@   rC   rD   rE   r6   r9   rM   s      r8    test_constructor_name_unhashablez)TestBase.test_constructor_name_unhashablem   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barrP   ))rU   one)rU   two)rV   rW   )bazrX   )quxrW   )rZ   rX   objectr!   )namesAB)copyr?   r   rQ   r   tmassert_index_equalr\   )r6   r9   expectedresults       r8   test_create_index_existing_namez(TestBase.test_create_index_existing_namet   s      $$&(J/!HM8_F!!&(38%0F!HM!!&(3#U^HN8_F!! '
 !%.$ 8C:6F!! '
 *r:   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   rE   r   r@   rA   r   r"   r   _datarI   rB   rC   rD   replace)	r6   r9   rM   typclslmsgrmsgdiv_errfloordiv_errs	            r8   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        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stringrf   iufcbmz&does not support operation '(any|all)'r=   )r"   r[   r@   rA   kindall_values	to_seriesanyrC   rD   rL   s       r8   test_logical_compatzTestBase.test_logical_compat   s   &(!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y4 	y4 	   s   E,E8,E58Fc                    t        |t              r+t        j                  dt	        |      j
                          |}t        j                  t        t        |            |       y )NNot a valid repr for )
r?   r   r@   rA   rE   rI   r`   ra   evalreprrR   s      r8   test_repr_roundtripzTestBase.test_repr_roundtrip   sI    lM2KK/\0B0K0K/LMN
d49os3r:   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@   rA   rE   rI   repeatpdoption_contextr   strrR   s      r8   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<   nat        |t        t        t
        f      rt        j                  d       n0|j                  t        k(  r|j                  dv 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              rK |j,                  dd|j.                  i|}t)        j0                  |j.                  |j.                  d	
       y t        |t2              ry t        |      t4        u rt        |j                  t6        j                        sp ||j                  fddi|}t)        j*                  ||       t        |j8                  t:              rt7        j<                  |j8                  j>                  |j8                  j>                        sJ t)        j0                  |j8                  j>                  |j8                  j>                  d	
       t7        j<                  |j8                  j@                  |j8                  j@                        sJ t)        j0                  |j8                  j@                  |j8                  j@                  d	
       y t        |j                  tB              r|j                  jD                  dk(  rt7        j<                  |j8                  jF                  |j8                  jF                        sJ t)        j0                  |j8                  jF                  |j8                  jF                  d	
       y t        |j                  tB              rE|j                  jD                  dk(  r,t)        j<                  |j8                  |j8                        sJ tI        |j                        y  ||j                  fddi|}t)        j0                  |j                  |j                  d	
       y )Nr+   zaRangeIndex cannot be initialized from data, MultiIndex and CategoricalIndex are tested separately)booleanru   r"   r_   TUTCordinalssame)
check_sameFpythonpyarrow )%r?   r   r+   r   r   r
   r@   rA   r"   r[   inferred_typerE   valuesr   tz_localize
tz_converttzr   r   
_with_freqr`   ra   from_ordinalsasi8assert_numpy_array_equalr   r   npry   r   shares_memoryrk   _maskr   storage_ndarrayrJ   )r6   indexinit_kwargs
index_typerc   s        r8   test_ensure_copied_dataz TestBase.test_ensure_copied_data   s6    e[)"'**K
J8HIJKKH [[F"u':':>S'S#(;;K %[
ELLCtC{Cekk?3''.99%((CFem^<=$$T*E
eV,e[)-Z--QuzzQ[QF''

FKKFS}-%[E!*U[["((*KH5HKHF!!&%0%--9''(;(;V^^=Q=QRRR++MM'')=)=& ''(;(;V^^=Q=QRRR++MM'')=)=& 5;;49L9LPX9X''(>(>@W@WXXX++MM**FNN,C,CPV 5;;4KK''94''FFF)%++66 G  H5HKHF''fmmPVWr:   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deepr[   )_engineclear_mappingmemory_usageemptyget_locr?   r   r   rE   r   r"   r   r   )r6   r   rc   result2result3s        r8   test_memory_usagezTestBase.test_memory_usage6  s    ##%##%;;Q;; 	eAh$$&$$$$/
 %*m!<=K5 EKK)JV###(*W$$$ +r:   c                T   |j                   j                          d|j                   vsJ |j                         }d|j                   vsJ |j                  }d|j                   v sJ |j                         }||k(  sJ t	        |      dk(  r|dk(  sJ |dk(  sJ y |dkD  sJ |dkD  sJ y )Nr   r   )_cacheclearr   r   len)r6   r   res_without_engine_res_with_engines        r8   'test_memory_usage_doesnt_trigger_enginez0TestBase.test_memory_usage_doesnt_trigger_engineN  s    ,,,"//1,,, MMELL(((,,. "4444u:?%***"a'''%)))"Q&&&r:   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@   rA   rE   rI   argsortr   arrayr`   r   )r6   r   rc   rb   s       r8   test_argsortzTestBase.test_argsortf  s_    e-.KK4:..//ABC88E?**,
##FH%Hr:   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)rw   %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@   rC   
ValueError)r6   r   rc   rb   rF   s        r8   test_numpy_argsortzTestBase.test_numpy_argsortn  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   rP   )
r_   _constructorr   r   rQ   r`   ra   r   aranger   )r6   r9   reprM   new_index_clsrb   s         r8   test_repeatzTestBase.test_repeat  s    !(( !2!23!7chhG
cjjox8iiC! !2!23!7chhG
cjjox8r:   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`   ra   r   r@   rC   r   )r6   r9   r   rM   rb   rF   s         r8   test_numpy_repeatzTestBase.test_numpy_repeat  sl    ::c?
biiS18<5]]:S1 	(IIc3Q'	( 	( 	(s   A??Bc                F   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!                         |j                        }|j                   ||            }t        j                  ||       y )Nrf   TFr%   r!   )r?   r   r   r   r"   r@   rA   r   r   r   r   wherer`   ra   r   	_na_valuetolist)r6   listlike_boxr9   klassrM   condrc   rb   s           r8   
test_wherezTestBase.test_where  s    l]K$@AEUF
 KK+,cM>:;..&CvC 5;'
fh/w$#c!"g,..#--;#ab'..*:;399M5;'
fh/r:   c                    |dd }t        |      st        j                  d       |j                  d|d         }|dd j	                  |      sJ y )Nr%      Not applicable for empty indexr   )r   r@   rA   insertequals)r6   r   trimmedrc   s       r8   test_insert_basezTestBase.test_insert_base  sO    !*5zKK8958,Qqz  (((r:   c                   t        |      dkD  rt        }nt        }t        |      dk(  rd}nd}|r?t        |j                        dv rd}n%|j                  dk(  rt        |      dk(  rd}t        }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__ method>   r   ru   categoryzloc must be an integer betweenr[   r=   g      ?rU   r<   z5index -?\d+ is out of bounds for axis 0 with size \d+r%   )	r   rD   
IndexErrorr   r"   r@   rC   r   rB   )r6   r   using_infer_stringerrrF   s        r8   test_insert_out_of_boundsz"TestBase.test_insert_out_of_bounds  s1    u:>CCu:?ICVC5;;#@@6(SZ1_6]]3c* 	%LLe$	% hhH0
 ]]:S1 	,LLUa+	, ]]:S1 	-LL#e*q!,	- 	-	% 	%	, 	,	- 	-s$   D;E E;EEE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@   rA   r?   r   rE   rI   deleter   rQ   rC   r   )r6   r   rb   rc   lengthrF   s         r8   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@   rA   rE   rI   r   r"   r   r   r_   astyper[   listr   r   nlevelsr   )r6   r   	is_ea_idxsame_valuess       r8   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 r:   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        |             t        j                  ||k(  t        |	             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@   rC   r   r   r   r`   r   r   assert_series_equalr?   r   )r6   r9   index_anindex_bindex_cindex_drF   	expected1	expected2array_aarray_barray_carray_dseries_aseries_bseries_cseries_d	expected3items                       r8   test_equals_opzTestBase.test_equals_op  s[   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	  	w(2F94EF
w(2F94EF ]]:-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`   M3N NN,N'N4 O)O3M= N
NN$'N14N>O
Oc                j   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'        |      |      }t#        j(                  dgt        |      z  t              }d|d
<   t        j*                  |j,                  |       |j.                  du sJ y # 1 sw Y   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   z$fillna is not defined for MultiIndexr=   z"'value' must be a scalar, passed: r%   Fr!   )r   r@   rA   r"   boolr?   r   r   r   r_   rC   rJ   fillnar`   ra   rD   ry   r   nanrE   r   r   _isnanhasnans)r6   r   rM   rF   rc   r   rb   s          r8   test_fillnazTestBase.test_fillnaO  s   u:?KK67[[D KK5;;-'789u%*:5;;*GKK6u{{mDEz***$*'C8C2#> #

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

CF8$% **$*'C[[FF1I$u+f%Cxx#c( 2$?HHQK''

H=;;$&&&-# #% %s   "HH)H&)H2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!   z"isna is not defined for MultiIndexr=   )r   r`   r   r   r   r   r  r?   r   r_   r@   rC   rJ   r	  zerosnotnaones)r6   r   rM   rF   rc   s        r8   
test_nullszTestBase.test_nullsr  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   rR   s      r8   
test_emptyzTestBase.test_empty  s%    99}2Aw}}}r:   c                    |}|j                   rF|j                  ||      }|}|dk(  rt        j                  |      }t	        j
                  ||       y y )N)howouter)	is_uniquerB   algos	safe_sortr`   ra   )r6   	join_typer9   rM   joinedrb   s         r8   test_join_self_uniquezTestBase.test_join_self_unique  sP    ==XXcyX1F#HG# ??84!!&(3 r:   c                    t        |t        t        f      rt        j                  d       |}|j                  d       }t        j                  ||d       y )Nrf   c                    | S r2   r   )xs    r8   <lambda>z#TestBase.test_map.<locals>.<lambda>  s    1 r:   equivexact)r?   r   r   r@   rA   mapr`   ra   )r6   r9   rM   rc   s       r8   test_mapzTestBase.test_map  sC    l^[$ABKK+,%
fc9r:   mapperc                N    t        | |      D ci c]  \  }}||
 c}}S c c}}w r2   )zip)r   r   eis       r8   r  zTestBase.<lambda>  s#    C4F"GDAq1a4"G "Gs   !c                    t        | |      S r2   )r   )r   r   s     r8   r  zTestBase.<lambda>  s    &"7 r:   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 )Nrf   r   r!  fr!   )r?   r   r   r   r@   rA   r   r#  r`   ra   r"   rw   r   r   r  r   )	r6   r%  r9   r7   rM   identityrc   r"   rb   s	            r8   test_map_dictlikezTestBase.test_map_dictlike  s     cM>;GHKK+,#**c*"
fc9 99>>S IIE"&&CH,E:#./
fh/r:   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@   rA   r#  r   r   r`   ra   )r6   r9   rM   rc   r  rb   s         r8   test_map_strzTestBase.test_map_str  sZ    l$45KK)*#.Q#a&./
fh/ /s   A6r_   TFrQ   NrU   orderedc                   |}|r|j                  |      }t        |      }|j                  ||      }t        |||      }t	        j
                  ||d       t        |j                         j                         d d |      }d}	t	        j                  t        |	      5  |j                  ||      }d d d        t	        j                  t        |	      5  t        |||	      }d d d        t	        j
                  ||d       |d
u r9|j                  d|      }t        ||      }t	        j
                  ||d       y y # 1 sw Y   xY w# 1 sw Y   kxY w)N)r1  )r_   )rQ   r1  Tr!  r   z=Constructing a Categorical with a dtype and values containingr=   )rQ   r"   Fr   rP   )
renamer	   r   r
   r`   ra   uniquer   assert_produces_warningr   )
r6   r_   rQ   r1  r9   rM   r"   rc   rb   rF   s
             r8   test_astype_categoryzTestBase.test_astype_category  s>   
 **T"C !1E-#CdGD
fhd; !!4!4!6s!;WEM''cB 	2ZZDZ1F	2''cB 	E'$eDH	E
fhd;eZZ
Z6F'$7H!!&($?	 	2 	2	E 	Es   #EEEE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  )r6   r9   r   index_empty	index_dupindex_naindex_na_dups          r8   test_is_uniquezTestBase.test_is_unique  s    ,,.$&&& BQi$$,,, LLE!H-	""e+++ <<266*!!T)))  q"&&1%%...r:   c                z    |j                         }t        j                  |      }|j                   ~ |       J y r2   )r_   weakrefrefr   )r6   r9   r   r@  s       r8   test_engine_reference_cyclez$TestBase.test_engine_reference_cycle  s6     !!#kk% u}}r:   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)NzTested elsewherez(Multi-dimensional indexing|too many|onlyr=   TFzonly integers, slices)r?   r   r@   rA   rC   r   r   r   rL   s       r8   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_   r   )r6   r9   rM   r_   s       r8   test_copy_shares_cachezTestBase.test_copy_shares_cache  s8    CFxxz{{cjj(((r:   c                   |}|j                  |d          |j                         }|j                  |j                  u sJ |j                  |j                        }|j                  |j                  usJ |j                  i k(  sJ y r  )r   _viewr   _shallow_copyrk   )r6   r9   rM   shallow_copys       r8   test_shallow_copy_shares_cachez'TestBase.test_shallow_copy_shares_cache  sz    CFyy{""cjj000((3""#**444""b(((r:   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   )r6   r9   rM   
to_groupbyex_keysrb   s         r8   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?r:   c                b   |}t        |      }|j                  |      }|j                  |j                  k(  sJ t        j                  |d | |dd       t        j                  ||d  |dd       |j                  t        t        |            dz        }t        j                  ||d       y )NFT)r"  check_exactr   )rU  )r   r   r"   r`   ra   taker   range)r6   r9   r   Nrc   alts         r8   test_append_preserves_dtypez$TestBase.test_append_preserves_dtype>  s    Je$||u{{***
fRaj%u$O
fQRj%u$OjjeAh!+,
fct<r:   c                    |}|j                   j                  dv rg| }t        |j                   |j                        }t        j                  ||       t        |       }t        j                  |t        |             y |j                   j                  dk(  rd}nd}t        j                  t        |      5  |  d d d        t        j                  t        |      5  t        |        d d d        y # 1 sw Y   :xY w# 1 sw Y   y xY w)N)r)  urP   r,  z0ufunc 'invert' not supported for the input typesz8bad operand|__invert__ is not supported for string dtyper=   )r"   rw   r   r   rQ   r`   ra   r   r   r@   rC   rD   )r6   r9   r   rM   resrb   res2rF   s           r8   test_invzTestBase.test_invL  s    99>>Z'$Ccjj[sxx8H!!#x0 3K<D""4)9:yy~~$HPy4  y4  	  s   ;C8"D8DD)ArI   
__module____qualname__r@   fixturer   r   r   r   float64float32uint64rW  int64int32int16int8r   r   r   r   r   from_breaksr9   rG   rN   rS   rd   rs   r|   r   r   markfilterwarningsr   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r  r$  parametrizer.  r0  r6  r=  arm_slowrA  rC  rE  rJ  rS  rZ  r_  r   r:   r8   r   r   '   s   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<X X<X|%0'0I42
9(0,)!-F!. [[ VW3 X32<H|!'F@$4: [[G7	
 [[ VW0 X0(0 [[VdE]3[[VdE]3[[Yu6@ 7 4 4@6/* [[ ,)
)@,=r:   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ej0                  j3                  dej4                  ej6                  g      d        Zd Zy)TestNumericBaser   r   r   r   r    r!   r/   c                    |j                   S r2   r3   r5   s     r8   r9   zTestNumericBase.simple_indexe  s     }}r:   c                0   t        |t              rt        j                  d       t	        |      }|j
                  }t        ddg|      } ||      }t        j                  ddg|j
                        }t        j                  |j                  |       y )Nrf   r%   r   r!   )r?   r   r@   rA   rE   r"   r   r   r   r`   r   rk   )r6   r9   	index_clsr"   rM   rc   rb   s          r8   test_constructor_unwraps_indexz.TestNumericBase.test_constructor_unwraps_indext  ss    lJ/KK+,&	""QF%(388QF#))4
##FLL(;r:   c                <    |}|d   }|j                  |      du sJ y )Nr   F)$_can_hold_identifiers_and_holds_name)r6   r9   rM   keys       r8   test_can_hold_identifiersz)TestNumericBase.test_can_hold_identifiers  s)    !f77<EEEr:   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        y # 1 sw Y   y xY w)	Nrf   Foo)r"   rQ   rP   Tr!  z[Cannot change data-type for array of references.|Cannot change data-type for object array.|r=   )r?   r   r@   rA   rE   r"   viewrQ   r`   ra   rC   rD   )r6   r9   rs  r"   rM   idx_viewrF   s          r8   	test_viewzTestNumericBase.test_view  s    lJ/KK+,&	""%e488:}}%%%88E?
c9XE#B$O9 	 ]]9C0 	 HHY	  	  	 s   7CCc                    |}|j                  d|d         }t        |d   gt        |      |j                        }t	        j
                  ||d       y )Nr   r!   Tr!  )r   r   r   r"   r`   ra   )r6   r9   r   rc   rb   s        r8   test_insert_non_naz"TestNumericBase.test_insert_non_na  sO     aq*%(1T%[1E
fhd;r:   c                   |}|}|t         j                  u r3t        |d   t         j                  gt        |dd        t              }n\t        |d   t
        j                  gt        |dd              }|j                  j                  dk(  rt        ||j                        }|j                  d|      }t        j                  ||d       y )Nr   r%   r!   r,  Tr!  )r   rP  r   r   r[   r   r  r"   rw   r   r`   ra   )r6   nulls_fixturer9   r   na_valrb   rc   s          r8   test_insert_nazTestNumericBase.test_insert_na  s    RVVeAhAeABiAPHeAhAeABiABH{{3& =a(
fhd;r:   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    rf  r!   g	@rc  )	rE   r   r   r   r   rc  r`   ra   r  )	r6   r9   rs  rM   arrrb   fidxr$   rc   s	            r8   $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/r:   complex_dtypec                j    |j                  |      }t        |      t        u r|j                  |k(  sJ y r2   )r   rE   r   r"   )r6   r  r9   rc   s       r8   test_astype_to_complexz&TestNumericBase.test_astype_to_complex  s2    $$]3F|u$)FFF)Fr:   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@   rA   rE   r"   r`   ra   )r6   r9   rc   rb   s       r8   test_cast_stringz TestNumericBase.test_cast_string  s[    lJ/KKHI#l#O<;M;MN%4%i|7I7IJ
fh/r:   N)rI   r`  ra  r@   rb  r   r   r   r   rc  rd  re  rW  rf  rg  rh  ri  r9   rt  rx  r}  r  r  r  rk  rm  	complex64
complex128r  r  r   r:   r8   rp  rp  d  s,   V^^QRa0)"))ARZZ01)"))ARZZ01)"))ARYY/0%2q/2%2q/2%2q/2%2q/1	
	<F
 *<< 08 [[_r||R]].KLG MG
0r:   rp  )*
__future__r   r   r?  numpyr   r@   pandas._libs.tslibsr   pandas.errorsr   pandas.core.dtypes.commonr   r   pandas.core.dtypes.dtypesr	   pandasr   r
   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr`   pandas.core.algorithmscore
algorithmsr  pandas.core.arraysr   r   rp  r   r:   r8   <module>r     sb    "     ) ( 7      & & .z zzv0 v0r:   