
    Pi[                        d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZ  G d d          Z G d d          Z G d	 d
          Z G d d          Z G d d          Z G d d          Z G d d          ZdS )    N)InvalidIndexError)NAIndex
RangeIndexSeries	Timestamp)ArrowExtensionArrayFloatingArrayc                       e Zd Zd Zd Zd Zd Zd Zej	        
                    ddgdg ed	          gd
gg          d             Zej	        
                    dg d          d             Zd ZdS )
TestGetLocc                 ^    t          g d          }|                    d          dk    sJ d S )Nr         r   )r   get_locselfindexs     ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/indexes/numeric/test_indexing.pytest_get_loczTestGetLoc.test_get_loc   s6    iii  }}Q1$$$$$$    c                     t          g d          }t          j        t          d          5  |                    ddg           d d d            d S # 1 swxY w Y   d S )Nr   z\[1, 2\]matchr   r   )r   pytestraisesr   r   r   s     r   test_get_loc_raises_bad_labelz(TestGetLoc.test_get_loc_raises_bad_label   s    iii  ],K@@@ 	" 	"MM1a&!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   AAAc                    t          g dt          j                  }t          j        t
          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t
          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t
          d          5  |                    d	           d d d            n# 1 swxY w Y   t          j        t
          d
          5  |                    d           d d d            d S # 1 swxY w Y   d S )Ng              ?       @dtypez^'foo'$r   fooz^1\.5$      ?z^True$Tz^False$F)r   npfloat64r   r   KeyErrorr   r   idxs     r   test_get_loc_float64zTestGetLoc.test_get_loc_float64   s   OOO2:666]89555 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]89555 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]88444 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]89555 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sG   AA"AB##B'*B'	C++C/2C/D44D8;D8c                 r   t          t          j        ddgt          j                  }|                    d          dk    sJ |                    t          j                  dk    sJ t          t          j        dt          j        gt          j                  }|                    d          dk    sJ d}t          j        t          |          5  |                    t          j                   d d d            n# 1 swxY w Y   t          t          j        dt          j        t          j        gt          j                  }|                    d          dk    sJ d}t          j        t          |          5  |                    t          j                   d d d            d S # 1 swxY w Y   d S )Nr   r   r"   r   z7'Cannot get left slice bound for non-unique label: nan'r   z6'Cannot get left slice bound for non-unique label: nan)	r   r&   nanr'   r   r   r   r(   
slice_locs)r   r*   msgs      r   test_get_loc_nazTestGetLoc.test_get_loc_na*   s   RVQN"*555{{1~~""""{{26""a''''RVQ'rz:::{{1~~"""" H]83/// 	# 	#NN26"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# RVQ/rzBBB{{1~~""""F]83/// 	# 	#NN26"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s$    C??DD? F,,F03F0c                 R   t          ddgt          j                  }|                    d          dk    sJ t	          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t	          j        t          d          5  |                    t          j                   d d d            n# 1 swxY w Y   t	          j        t          d	          5  |                    t          j        g           d d d            d S # 1 swxY w Y   d S )
Nr   r   r"   r   z^3$r      z^nan$z\[nan\])	r   r&   r'   r   r   r   r(   r-   r   r)   s     r   test_get_loc_missing_nanz#TestGetLoc.test_get_loc_missing_nan=   s   QF"*---{{1~~""""]86222 	 	KKNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]87333 	  	 KK	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ],J??? 	" 	"KK!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s6   A66A:=A: CCC.!DD #D valsr   r    z
2019-12-31testc                     t          |          }t          j        t          d          5  |                    t
          j                   d d d            d S # 1 swxY w Y   d S )Nr-   r   )r   r   r   r(   r   r&   r-   )r   r4   r*   s      r   (test_get_loc_float_index_nan_with_methodz3TestGetLoc.test_get_loc_float_index_nan_with_methodI   s     Dkk]85111 	  	 KK	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s    AAAr#   )f8i8u8c                     t          j        d|          }t          |          }t          j        t
          d          5  |                    d            d d d            d S # 1 swxY w Y   d S )Ni r"   Noner   )r&   aranger   r   r   r(   r   )r   r#   arrr*   s       r   %test_get_loc_numericindex_none_raisesz0TestGetLoc.test_get_loc_numericindex_none_raisesP   s     iU+++Cjj]86222 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A$$A(+A(c                    t          g d          }t          j        t          j                  j        dz   }t          j        t          t          |                    5  |	                    |           d d d            n# 1 swxY w Y   t          j        t          t          |                    5  |j
        	                    |           d d d            d S # 1 swxY w Y   d S )N)r   r   r   r   r   )r   r&   iinfoint64maxr   r   r(   strr   _engine)r   r*   vals      r   test_get_loc_overflowsz!TestGetLoc.test_get_loc_overflowsX   sC   IIIhrx  $q(]83s88444 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]83s88444 	% 	%K$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s$    BB	B5CC!$C!N)__name__
__module____qualname__r   r   r+   r0   r3   r   markparametrizer   r7   r?   rG    r   r   r   r      s        % % %" " "

 
 
# # #&
" 
" 
" [VqcC599\3J3J2KfX%VWW    XW  [W&8&8&899  :9	% 	% 	% 	% 	%r   r   c                   V   e Zd Zd Zej                            dddg          ej                            dg ddfg ddfg d	d
fg d	dfg          d                         Zd Zej                            dddg dg dfd
dg dg dfddg dg dfddg dg dfd
dg dg dfddg dg dfddg dg dfd
dg dg dfddg dg dfddg dg dfd
dg dg dfddg dg dfddg dg dfd
dg dg dfddg dg dfg          d             Z	ej                            de
eeej        g          ej                            dg dg dgg d g dgg d!g d"gg          d#                         Zd$ Zej                            d%dg d&fd
g d'fdg d(fg          d)             Zej                            d*g d+          ej                            d,d-d.g          d/                         Zej                            d,g d0          d1             Zd2 Zd3 Zd4 Zd5 Zd6 Zej                            d7d8d9d:efeefg          d;             Zd< Zd= Zej                            d>d:d?g          d@             Zej                            dAdBdCg          dD             ZdE ZdS )FTestGetIndexerc                     t          g d          }t          g d          }|                    |          }t          j        g dt          j                  }t          j        ||           d S )Nr   r   r2         r   rR      )r   r2   r"   )r   get_indexerr&   arrayintptmassert_almost_equal)r   index1index2r1e1s        r   test_get_indexerzTestGetIndexer.test_get_indexere   sj    ''yyy!!''Xjjj000
r2&&&&&r   reverseTFzexpected,method)rV   r   r   r   r   padffill)r   r   r   r   r   backfillbfillc                    t          g d          }t          g d          }t          j        |t          j                  }|r|d d d         }|d d d         }|                    ||          }t          j        ||           d S )NrQ   rT   r"   rV   method)r   r&   rX   rY   rW   rZ   r[   )r   ra   expectedrh   r\   r]   results          r   test_get_indexer_methodsz'TestGetIndexer.test_get_indexer_methodsm   s     ''yyy!!8HBG444 	&DDbD\F"~H##F6#::
vx00000r   c                 z   t          t          j        d                    }t          j        t
          d          5  |                    ddgd           d d d            n# 1 swxY w Y   t          j        t
          d          5  |                    ddgd           d d d            d S # 1 swxY w Y   d S )	N
   ztolerance argumentr   r   r   )	tolerancelimit argument)limitr   r&   r=   r   r   
ValueErrorrW   r   s     r   test_get_indexer_invalidz'TestGetIndexer.test_get_indexer_invalid   s8   bimm$$]:-ABBB 	3 	3q!f222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 ]:-=>>> 	/ 	/q!fA...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s#   A##A'*A'	B00B47B4z$method, tolerance, indexer, expectedNr   rS   	   nearestr   皙?g?      !@)r   r      )r   r   ru   )r   r   ru   r   rx   )r   rV   rV   )rV   r   rV   r   r   rV   c                     t          t          j        d                    }|                    |||          }t	          j        |t          j        |t          j                             d S )Nrm   rh   rn   r"   r   r&   r=   rW   rZ   assert_numpy_array_equalrX   rY   )r   rh   rn   indexerri   r   actuals          r   test_get_indexer_nearestz'TestGetIndexer.test_get_indexer_nearest   s]    * bimm$$""76Y"OO
#FBHXRW,M,M,MNNNNNr   listtypeztolerance, expected)333333?r   皙?)rx   r   r   )r         ?r   )rV   r   ru   c                     t          t          j        d                    }|                    g dd ||                    }t	          j        |t          j        |t          j                             d S )Nrm   rw   rv   r}   r"   r~   )r   rn   ri   r   r   r   s         r   +test_get_indexer_nearest_listlike_tolerancez:TestGetIndexer.test_get_indexer_nearest_listlike_tolerance   st     bimm$$""OOI)9L9L # 
 
 	#FBHXRW,M,M,MNNNNNr   c                    t          t          j        d                    }t          j        t
          d          5  |                    ddgdd           d d d            n# 1 swxY w Y   t          j        t
          d          5  |                    ddgdg d	
           d d d            d S # 1 swxY w Y   d S )Nrm   ro   r   r   r   rv   )rh   rp   ztolerance size must matchr   r   r2   r}   rq   r   s     r   test_get_indexer_nearest_errorz-TestGetIndexer.test_get_indexer_nearest_error   se   bimm$$]:-=>>> 	A 	Aq!fYa@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A ]:-HIII 	M 	Mq!fY)))LLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	Ms#   A$$A(+A(
B44B8;B8zmethod,expected)rz      r   )ru   rz   r   )ru   r   r   c                    t          t          j        d                    d d d         }|                    g d|          }t	          j        |t          j        g dt          j                             |                    g d|          }t	          j        |t          j        |t          j                             d S )Nrm   rV   rt   rg   )ru   rR   r   r"   rw   r~   )r   rh   ri   r   r   s        r   #test_get_indexer_nearest_decreasingz2TestGetIndexer.test_get_indexer_nearest_decreasing   s    
 bimm$$TTrT*""999V"<<
#FBHYYYbg,N,N,NOOO""???6"BB
#FBHXRW,M,M,MNNNNNr   	idx_dtype)rB   r'   uint64rangerh   rW   get_indexer_non_uniquec                    |dk    rt          d          }n#t          t          j        d|                    }t          g d          } t	          ||          |          }t          j        g dt          j                  }|dk    rt          j        ||           d S t          j        dt          j                  }t          j        |d         |           t          j        |d	         |           d S )
Nr   rR   r"   )TFT)rV   rV   rV   rW   r2   r   r   )	r   r   r&   r=   getattrrX   rY   rZ   r   )r   rh   r   numeric_indexotherrj   ri   missings           r   -test_get_indexer_numeric_index_boolean_targetz<TestGetIndexer.test_get_indexer_numeric_index_boolean_target   s    
 &qMMMM!")AY"?"?"?@@M)))**///668LLL888]""'99999i111G'q	8<<<'q	7;;;;;r   )rb   rd   rv   c                 t   t          g d          }t          ddg          }t          j        t          d          5  |                    ||           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    ||           d d d            d S # 1 swxY w Y   d S )Nr   TFzCannot comparer   rg   )r   r   r   	TypeErrorrW   )r   rh   leftrights       r   ,test_get_indexer_with_method_numeric_vs_boolz;TestGetIndexer.test_get_indexer_with_method_numeric_vs_bool   s=   YYYtUm$$]9,<=== 	3 	3U6222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 ]9,<=== 	3 	3d6222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s#   A""A&)A&B--B14B1c                 2   t          g d          }t          ddg          }|                    |          }dt          j        t	          |          t          j                  z  }t          j        ||           |                    |          }dt          j        t	          |          t          j                  z  }t          j        ||           |                    |          d         }dt          j        t	          |          t          j                  z  }t          j        ||           |                    |          d         }dt          j        t	          |          t          j                  z  }t          j        ||           d S )Nr   TFrV   r"   r   )	r   rW   r&   oneslenrY   rZ   r   r   )r   r   r   resri   s        r    test_get_indexer_numeric_vs_boolz/TestGetIndexer.test_get_indexer_numeric_vs_bool   sP   YYYtUm$$u%%E

"'::::
#C222%%D		9999
#C222))%003E

"'::::
#C222**4003D		9999
#C22222r   c                    t          g dt          j                  }t          j        |                    |          t          j        g dt          j                             g d}t          j        |                    |d          t          j        g dt          j                             t          j        |                    |d          t          j        g dt          j                             t          j        |                    |d          t          j        g d	t          j                             d S )
Nr   r"   r   )gr   g?rb   )rV   r   r   rd   rv   )r   r   r   )r   r&   r'   rZ   r   rW   rX   rY   )r   r*   targets      r   test_get_indexer_float64z'TestGetIndexer.test_get_indexer_float64  s'   OOO2:666
#OOC  "(999BG"D"D"D	
 	
 	
 "!!
#OOFE**BHZZZrw,O,O,O	
 	
 	
 	#OOFJ//)))271S1S1S	
 	
 	
 	#OOFI.."'0R0R0R	
 	
 	
 	
 	
r   c                     t          ddt          j        gt          j                                      t          j        g          }t          j        dgt          j                  }t          j        ||           d S )Nr   r   r"   )	r   r&   r-   r'   rW   rX   rY   rZ   r   )r   rj   ri   s      r   test_get_indexer_nanz#TestGetIndexer.test_get_indexer_nan  sa    1bf~RZ888DDbfXNN8QCrw///
#FH55555r   c                 8   t          t          ddd          t          j                  }t          t          j        d          t          j                  }|                    |          }t          j        g dt          j                  }t          j	        ||           t          t          j        d          t          j                  }|                    |d          }t          j        g d	t          j                  }t          j	        ||           t          t          j        d          t          j                  }|                    |d
          }t          j        g dt          j                  }t          j	        ||           d S )Nr      r   r"   rm   )
r   rV   r   rV   r   rV   r2   rV   rR   rV   rb   rg   )
r   r   r   r   r   r   r2   r2   rR   rR   rd   )
r   r   r   r   r   r2   r2   rR   rR   rS   )
r   r   r&   rB   r=   rW   rX   rY   rZ   r   )r   r   r   r   ri   s        r   test_get_indexer_int64z%TestGetIndexer.test_get_indexer_int64  sM   eAr1ooRX666ry}}BH555##F++8???rwOOO
#GX666ry}}BH555##F5#998:::"'JJJ
#GX666ry}}BH555##F:#>>8:::"'JJJ
#GX66666r   c                 l   t          g dt          j                  }t          t          j        d                              d          dz  dz             }|                    |          }t          j        g dt          j                  }t          j	        ||           t          t          j        d                              d          dz  dz             }|                    |d	          }t          j        g d
t          j                  }t          j	        ||           t          t          j        d                              d          dz  dz             }|                    |d	          }t          j        g dt          j                  }t          j	        ||           d S )N)            l   
        l           l           l           r"   rm   r   rS   r   )
r   rV   r   r   r2   rR   rV   rV   rV   rV   rb   rg   )
r   r   r   r   r2   rR   rR   rR   rR   rR   rd   )
r   r   r   r   r2   rR   rV   rV   rV   rV   )
r   r&   r   r=   astyperW   rX   rY   rZ   r   )r   index_larger   r   ri   s        r   test_get_indexer_uint64z&TestGetIndexer.test_get_indexer_uint64*  s   CCC)
 
 
 ry}}++H559EABB))&118???rwOOO
#GX666ry}}++H559EABB))&)??8:::"'JJJ
#GX666ry}}++H559EABB))&)DD8>>>bgNNN
#GX66666r   z	val, val2)rR   rS   )rR   rR   rR   c                     t          ddd||g|          }|                    d          }|dk    sJ t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r   r2   r"   9r   ru   )r   r   r   r   r(   )r   rF   val2any_numeric_ea_and_arrow_dtyper*   rj   s         r   test_get_loc_maskedz"TestGetIndexer.test_get_loc_masked>  s     Q1c4(0NOOOQ{{{{]83/// 	 	KKNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A22A69A6c                    t          ddt          g|          }|                    t                    }|dk    sJ t          ddt          t          g|          }|                    t                    }t          j        |t          j        g d                     t          g d|          }t          j        t          d          5  |                    t                     d d d            d S # 1 swxY w Y   d S )Nr   r   r"   FFTTr   r   r   )
r   r   r   rZ   r   r&   rX   r   r   r(   )r   r   r*   rj   s       r   test_get_loc_masked_naz%TestGetIndexer.test_get_loc_masked_naH  s$   Q2J&DEEER{{{{Q2rN*HIIIR
#FBH5O5O5O,P,PQQQIII%CDDD]84000 	 	KKOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   C44C8;C8c           
         t          j        g d          }|rd|d<   t          t          t          j        dddt           j        g          |                    }|rz|                    t                    }t          j        g d          }t          j        ||           |                    t           j                  }t          j        ||           nI|                    t                    }|dk    sJ |                    t           j                  }|dk    sJ t          t          t          j        g d	          t          j        g d
                              }|                    t                    }|dk    sJ |r(|                    t           j                  }|dk    sJ nRt          j
        t          d          5  |                    t           j                   d d d            n# 1 swxY w Y   t          j        g d          }|rd|d<   t          t          t          j        ddt           j        g          |                    }|                    t           j                  }|dk    sJ |r$|                    t                    }|dk    sJ d S t          j
        t          d          5  |                    t                     d d d            d S # 1 swxY w Y   d S )N)FFTFTrV   r   r   )maskr   r2   )r   r   r    )FFTr-   r   )FFFr   )r&   rX   r   r
   r-   r   r   rZ   r   r   r   r(   )r   using_nan_is_nar   r*   rj   ri   s         r   test_get_loc_masked_na_and_nanz-TestGetIndexer.test_get_loc_masked_na_and_nanV  s&   x33344 	DHM"(Aq!RV+<"="=DIIIJJ 	[[__Fx : : :;;H'999[[((F'9999[[__FQ;;;;[[((FQ;;;;"(;;;//bh?S?S?S6T6TUUU
 
 R{{{{ 	$[[((FQ;;;;;xu555 $ $BF###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ x---.. 	DHM"(Aq"&>":":FFFGGRV$${{{{ 	 [[__FQ;;;;;;xt444    B                                   s$    G::G>G>K//K36K3rF   r   c                     t          ddt          d|g|          }|                    dt          dg          }t          j        g d          }t          j        ||d           d S )	Nr   r   r2   r"   rS   r{   F)check_dtype)r   r   get_indexer_forr&   rX   rZ   r   )r   r   rF   r*   rj   ri   s         r   test_get_indexer_masked_naz)TestGetIndexer.test_get_indexer_masked_na  sl     Q2q#&.LMMM$$aQZ008JJJ''
#FH%HHHHHHr   r#   booleanbool[pyarrow]c                     |dk    rt          j        d           t          ddt          g|          }|                    d          }|dk    sJ |                    t                    }|dk    sJ d S )Nr   pyarrowTFr"   r   r   )r   importorskipr   r   r   )r   r#   r*   rj   s       r   "test_get_indexer_masked_na_booleanz1TestGetIndexer.test_get_indexer_masked_na_boolean  sw     O##	***T5"%U333U##{{{{R{{{{{{r   c                    t          j        d          }t          t          |                    ddg|                    |                                |                                                                        }t          dg          }|                    |          }t          j        ddgt          j	                  }t          j        ||           |                    |          \  }}t          j        ddgt          j	                  t          j        dgt          j	                  }	}t          j        ||           t          j        ||	           d S )Nr   r   r   )typer   rV   r"   )r   r   r   r	   rX   
dictionaryint8rW   r&   rB   rZ   r   r   )
r   par   r*   rj   ri   result_1result_2
expected_1
expected_2s
             r   (test_get_indexer_arrow_dictionary_targetz7TestGetIndexer.test_get_indexer_arrow_dictionary_target  s+    ++!QbmmBGGIIrwwyy&I&IJJ 
 

 QCjj((8QG28444
#FH555 77??(HaWBH---HaS))) 
 	#Hj999
#Hj99999r   ) rH   rI   rJ   r`   r   rK   rL   rk   rs   r   listtupler   r&   rX   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rM   r   r   rO   rO   d   s       ' ' ' [Yu66[u%w'__j)__g&		
 	1 	1  76	1/ / / [.D)))YYY/yyy)))4iii3Ayyy))),IIIyyy1999iii0D///9995			:oooyyy9A			2OOOYYY7???III6C+++6ooo{{{;___jjj9	
 (O O) (O [Z$vrx)HII[__jjj)__kkk*__jjj)	
 O O  JIOM M M [
	j)))4y)))6LM O O	 O [[*Q*Q*QRR[X7O'PQQ< < RQ SR<& [X'E'E'EFF3 3 GF33 3 3(
 
 
"6 6 67 7 7"7 7 7( [[66Ar7RH*MNN  ON  +  +  + Z [UQF++I I ,+I [Wy/&BCC  DC: : : : :r   rO   c                      e Zd Zej                            d e ej        dd                     e e	ddd          ej
                   e ej        dd                    g          d	             Zd
 Zd ZdS )	TestWherer   rS   r'   r"   r   r   r   r   c                    dgt          |          z  }|}|                     ||                    }dgdgt          |          dz
  z  z   }t          |j        g|dd                                          t
          j                  }|                     ||                    }t          j        ||           d S )NTFr   r"   )	r   wherer   	_na_valuetolistr&   r'   rZ   assert_index_equal)r   listlike_boxr   condri   rj   s         r   
test_wherezTestWhere.test_where  s     vE

"\\$//00w$3u::>22%/?E!""I,<,<,>,>?rzRRR\\$//00
fh/////r   c                    t          g dt          j                  }t          j        g d          }t          j        dgt          j                  }t          g dt          j                  }|                    ||          }t          j        ||           |                    | |          }t          j        ||           d S )N)r   rU   r   r"   )FTFr   )r   rU   r   )	r   r&   r   rX   rB   r   rZ   r   putmask)r   r*   r   r   ri   rj   s         r   test_where_uint64zTestWhere.test_where_uint64  s    IIIRY///x,,,--!BH---")4444''
fh///dUE**
fh/////r   c                    t          dt          j        g          }|                                }t          ddgd          }t          ddg          }|                    ||          }t          j        ||           d S )Nr   abstringr"   r    )r   r&   r-   notnar   rZ   r   )r   r   r   r   ri   rj   s         r   Ctest_where_infers_type_instead_of_trying_to_convert_string_to_floatzMTestWhere.test_where_infers_type_instead_of_trying_to_convert_string_to_float  su    q"&k""{{}}sCj111#s$$T5))
fh/////r   N)rH   rI   rJ   r   rK   rL   r   r&   r=   r   rB   r   r   r   rM   r   r   r   r     s        [E)")AY///00E%%2q//222E)")AX...//	
 0 0 00 0 0	0 	0 	0 	0 	0r   r   c                       e Zd Zej                            dej        ej        ej	        g          d             Z
d Zej                            dej        ej	        g          d             ZdS )TestTaker   c                     t          g d|d          }|                    g d          }|j        |j        k    sJ d S )N)r   r   r2   rR   r$   r#   name)r2   r   r   )r   taker   )r   r   r   takens       r   test_take_preserve_namez TestTake.test_take_preserve_name  sJ    lll)%@@@

999%%zUZ''''''r   c                    t          g ddt          j                  }|                    t          j        g d                    }t          g dt          j        d          }t          j        ||           |                    t          j        g d          d          }t          d	d
t          j        gt          j        d          }t          j        ||           |                    t          j        g d          dd          }t          g dt          j        d          }t          j        ||           d}t          j	        t          |          5  |                    t          j        g d          d           d d d            n# 1 swxY w Y   t          j	        t          |          5  |                    t          j        g d          d           d d d            n# 1 swxY w Y   d}t          j	        t          |          5  |                    t          j        ddg                     d d d            d S # 1 swxY w Y   d S )N)r    r!         @xxx)r   r#   r   r   rV   )r!   r    r   r   T
fill_valuer!   r    F
allow_fillr   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r   r   r   r   r   3index -5 is out of bounds for (axis 0 with )?size 3r   r   )r   r&   r'   r   rX   rZ   r   r-   r   r   rr   
IndexError)r   r*   rj   ri   r/   s        r   test_take_fill_value_float64z%TestTake.test_take_fill_value_float64  s   OOO%rzBBB"(:::..//
GGG
fh/// "(:::..4@@#sBF+2:EJJJ
fh/// "(:::..5TRR
GGG
fh/// Y 	 ]:S111 	< 	<HHRXjjj))dH;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<]:S111 	< 	<HHRXjjj))dH;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< D]:S111 	( 	(HHRXq"g&&'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s6    ,FFF>,G66G:=G:*IIIr#   c                    t          g d|d          }|                    t          j        g d                    }t          g d|d          }t	          j        ||           t          |          j        }d| d}t          j	        t          |          5  |                    t          j        g d          d	
           d d d            n# 1 swxY w Y   |                    t          j        g d          dd	          }t          g d|d          }t	          j        ||           t          j	        t          |          5  |                    t          j        g d          d	
           d d d            n# 1 swxY w Y   t          j	        t          |          5  |                    t          j        g d          d	
           d d d            n# 1 swxY w Y   d}t          j	        t          |          5  |                    t          j        ddg                     d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   )r   r   r2   zUnable to fill values because z cannot contain NAr   Tr   Fr   r   r   r   r   r   )r   r   r&   rX   rZ   r   r   rH   r   r   rr   r   )r   r#   r*   rj   ri   r   r/   s          r   test_take_fill_value_intsz"TestTake.test_take_fill_value_ints  s#    IIIU777"(:::..//%e<<<
fh///Cyy!GtGGG ]:S111 	< 	<HHRXjjj))dH;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< "(:::..5TRR%e<<<
fh///]:S111 	< 	<HHRXjjj))dH;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<]:S111 	< 	<HHRXjjj))dH;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< D]:S111 	( 	(HHRXq"g&&'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(sH   ,CCC,FFF-,G%%G),G)*IIIN)rH   rI   rJ   r   rK   rL   r&   r'   rB   r   r   r   r   rM   r   r   r   r     s        [[2:rx*KLL( ( ML(
( ( (: [Wrx&;<<( ( =<( ( (r   r   c                       e Zd Zej                            dej        ej        ej	        g          d             Z
d Zd ZdS )TestContainsr#   c                 8    t          g d|          }d |vsJ d S )N)r   r   r   r2   rR   r"   )r   )r   r#   r   s      r   test_contains_nonezTestContains.test_contains_none  s1     oooU3335      r   c                 v    t          ddt          j        gt          j                  }t          j        |v sJ d S Nr    r!   r"   r   r&   r-   r'   r   s     r   test_contains_float64_nansz'TestContains.test_contains_float64_nans!  s2    sC(
;;;vr   c                 b    t          ddt          j        gt          j                  }d|v sJ d S r  r  r   s     r   test_contains_float64_not_nansz+TestContains.test_contains_float64_not_nans%  s0    sC(
;;;e||||||r   N)rH   rI   rJ   r   rK   rL   r&   r'   rB   r   r  r  r  rM   r   r   r   r     sl        [Wrz28RY&GHH! ! IH!
      r   r   c                       e Zd Zej                            deeg          d             Zej                            deeg          d             Z	ej                            deeg          d             Z
d Zd ZdS )TestSliceLocsr#   c                 P   t          t          j        g d|                    }t          |          }|                    d          d|fk    sJ |                    d          d|fk    sJ |                    dd          dk    sJ |                    dd	          d|fk    sJ |                    d
          dk    sJ |                    d
          dk    sJ |d d d         }|                    dd          dk    sJ |                    dd          dk    sJ d S )Nr   r   r   rS   rU   r   ru   rm   r"   r   startr2   rz   )r2   rU   rS   rm   end)r   rU   ru   )r   r   rV   r   rU   r   )r   rS   r   r&   rX   r   r.   r   r#   r   nr]   s        r   test_slice_locszTestSliceLocs.test_slice_locs+  s_   bh888FFFGGJJa((QF2222a((QF22221%%////2&&1a&0000A&&&0000A&&&0000 ttt  A&&&0000  A&&&000000r   c                 l   t          t          j        g d|                    }t          |          }|                    dd          d|fk    sJ |                    dd          dk    sJ |d d d	         }|                    d
d          dk    sJ |                    dd	          d|fk    sJ d S )Nr  r"   g      @g      $@r2   g      @g      %@)r2   rz   rV   ry   r%   r  r   r  r  s        r   test_slice_locs_float_locsz(TestSliceLocs.test_slice_locs_float_locs<  s    bh888FFFGGJJT**q!f4444T**f4444ttt  c**f4444  r**q!f444444r   c                 F   t          t          j        g d|                    }|                    dd          dk    sJ |                    dd          dk    sJ |d d d         }|                    dd          dk    sJ |                    dd          dk    sJ d S )N)rm      r     r"   r  r   r2         rV   )r   r&   rX   r.   )r   r#   r   r]   s       r   test_slice_locs_dup_numericz)TestSliceLocs.test_slice_locs_dup_numericG  s    bh///u===>>B''61111B''61111ttt  R((F2222  R((F222222r   c                 X   t          t          j        ddg          }|                    d          dk    sJ |                    t          j                  dk    sJ t          dt          j        t          j        ddg          }|                    t          j                  dk    sJ d S )Nr   r   r  )r   r2   r   )r   rS   )r   r&   r-   r.   r   s     r   test_slice_locs_naz TestSliceLocs.test_slice_locs_naQ  s    rvq!n%%""f,,,,''61111q"&"&!Q/00''6111111r   c                 h   t          t          j        ddg          }d}t          j        t
          |          5  |                    d           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r   z,non-monotonic index with a missing label 1.5r   r%   r  r  )r   r&   r-   r   r   r(   r.   )r   r   r/   s      r   test_slice_locs_na_raisesz'TestSliceLocs.test_slice_locs_na_raisesY  s/   rvq!n%%<]83/// 	( 	(3'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]83/// 	& 	&%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s#   AA!$A!B''B+.B+N)rH   rI   rJ   r   rK   rL   intfloatr  r  r  r  r!  rM   r   r   r	  r	  *  s        [WsEl331 1 431  [WsEl335 5 435 [WsEl333 3 4332 2 2& & & & &r   r	  c                       e Zd Zej                            dddg          d             Zej                            dddg          ej                            dd	d
g          d                         ZdS )TestGetSliceBoundszside, expected)r   rR   )r   rS   c                 |    t          t          d                    }|                    d|          }||k    sJ d S )NrU   rR   sider   r   get_slice_bound)r   r(  ri   r   rj   s        r   test_get_slice_bounds_withinz/TestGetSliceBounds.test_get_slice_bounds_withind  sB    eAhh&&qt&44!!!!!!r   r(  r   r   zbound, expected)rV   r   )rm   rU   c                 |    t          t          d                    }|                    ||          }||k    sJ d S )NrU   r'  r)  )r   r(  ri   boundr   rj   s         r   test_get_slice_bounds_outsidez0TestGetSliceBounds.test_get_slice_bounds_outsidej  sD     eAhh&&u4&88!!!!!!r   N)rH   rI   rJ   r   rK   rL   r+  r.  rM   r   r   r%  r%  c  s        [-\/JKK" " LK"
 [Vfg%677[.'0BCC" " DC 87" " "r   r%  )numpyr&   r   pandas.errorsr   pandasr   r   r   r   r   pandas._testing_testingrZ   pandas.core.arraysr	   r
   r   rO   r   r   r   r	  r%  rM   r   r   <module>r5     s        + + + + + +                          M% M% M% M% M% M% M% M%`E: E: E: E: E: E: E: E:P
)0 )0 )0 )0 )0 )0 )0 )0X?( ?( ?( ?( ?( ?( ?( ?(D        6& 6& 6& 6& 6& 6& 6& 6&r" " " " " " " " " "r   