
    bMhX                     0   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 ej        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 G d d          ZdS )    N)InvalidIndexError)NAIndex
RangeIndexSeries	Timestamp)ArrowExtensionArrayFloatingArrayc                  @    g d} t          | t          j                  S )N)            l   
        l           l           l           dtype)r   npuint64)larges    j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/numeric/test_indexing.pyindex_larger      s%     DCCEbi((((    c                       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     r   test_get_loczTestGetLoc.test_get_loc   s6    iii  }}Q1$$$$$$r   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              ?       @r   z^'foo'$r!   fooz^1\.5$      ?z^True$Tz^False$F)r   r   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_na1   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-   r2   r   r.   s     r   test_get_loc_missing_nanz#TestGetLoc.test_get_loc_missing_nanD   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 )Nr2   r!   )r   r#   r$   r-   r   r   r2   )r   r9   r/   s      r   (test_get_loc_float_index_nan_with_methodz3TestGetLoc.test_get_loc_float_index_nan_with_methodP   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_raisesW   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_overflows_   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%   r0   r5   r8   r#   markparametrizer   r<   rD   rL    r   r   r   r      s        % % %" " "

 
 
# # #&
" 
" 
" [VqcC599\3J3J2KfX%VWW    XW  [W&8&8&899  :9	% 	% 	% 	% 	%r   r   c                      e Zd Zd Zej                            dddg          ej                            d ej        g dej	                  df ej        g dej	                  d	f ej        g d
ej	                  df ej        g d
ej	                  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 e eg d g d!g d"gg dg dg d#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          d0                         Zej                            d-g d1          d2             Zd3 Zd4 Zd5 Zd6 Zd7 Zej                            d8d9d:d;efeefg          d<             Zd= Zd> Zej                            d?d;d@g          dA             Zej                            dBdCdDg          dE             Z dF Z!dS )GTestGetIndexerc                     t          g d          }t          g d          }|                    |          }t          j        g dt          j                  }t          j        ||           d S )Nr   r   r7         r   rW      )r   r7   r   )r   get_indexerr   arrayintptmassert_almost_equal)r   index1index2r1e1s        r   test_get_indexerzTestGetIndexer.test_get_indexerl   sj    ''yyy!!''Xjjj000
r2&&&&&r   reverseTFzexpected,method)r[   r   r   r   r   r   padffill)r   r   r   r   r   backfillbfillc                     t          g d          }t          g d          }|r|d d d         }|d d d         }|                    ||          }t          j        ||           d S )NrV   rY   r[   method)r   r\   r_   r`   )r   rf   expectedrm   ra   rb   results          r   test_get_indexer_methodsz'TestGetIndexer.test_get_indexer_methodst   s}     ''yyy!! 	&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   rB   r#   r$   
ValueErrorr\   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   rX   	   nearestr   皙?g?      !@)r   r      )r   r   rz   )r   r   rz   r   r}   )r   r[   r[   )r[   r   r[   r   r   r[   c                     t          t          j        d                    }|                    |||          }t	          j        |t          j        |t          j                             d S )Nrr   rm   rs   r   r   r   rB   r\   r_   assert_numpy_array_equalr]   r^   )r   rm   rs   indexerrn   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   皙?)r}   r   r   )r         ?r   )r[   r   rz   c                     t          t          j        d                    }|                    g dd ||                    }t	          j        |t          j        |t          j                             d S )Nrr   r|   r{   r   r   r   )r   rs   rn   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 )Nrr   rt   r!   r   r   r{   )rm   ru   ztolerance size must matchr   r   r7   r   rv   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)r      r   )rz   r   r   )rz   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 )Nrr   r[   ry   rl   )rz   rW   r   r   r|   r   )r   rm   rn   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)rG   r,   r   rangerm   r\   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   rW   r   )TFT)r[   r[   r[   r\   r7   r   r   )	r   r   r   rB   getattrr]   r^   r_   r   )r   rm   r   numeric_indexotherro   rn   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   )rg   ri   r{   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!   rl   )r   r#   r$   	TypeErrorr\   )r   rm   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   TFr[   r   r   )	r   r\   r   oneslenr^   r_   r   r   )r   r   r   resrn   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?rg   )r[   r   r   ri   r{   )r   r   r   )r   r   r,   r_   r   r\   r]   r^   )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   r2   r,   r\   r]   r^   r_   r   )r   ro   rn   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   rr   )
r   r[   r   r[   r   r[   r7   r[   rW   r[   rg   rl   )
r   r   r   r   r   r   r7   r7   rW   rW   ri   )
r   r   r   r   r   r7   r7   rW   rW   rX   )
r   r   r   rG   rB   r\   r]   r^   r_   r   )r   r   r   r   rn   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                 2   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 )Nrr   r   rX   r   )
r   r[   r   r   r7   rW   r[   r[   r[   r[   r   rg   rl   )
r   r   r   r   r7   rW   rW   rW   rW   rW   ri   )
r   r   r   r   r7   rW   r[   r[   r[   r[   )	r   r   rB   astyper\   r]   r^   r_   r   )r   r   r   r   rn   s        r   test_get_indexer_uint64z&TestGetIndexer.test_get_indexer_uint642  sb   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)rW   rX   )rW   rW   rW   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   r7   r   9r!   rz   )r   r   r#   r$   r-   )r   rK   val2any_numeric_ea_and_arrow_dtyper/   ro   s         r   test_get_loc_maskedz"TestGetIndexer.test_get_loc_maskedB  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   r_   r   r   r]   r#   r$   r-   )r   r   r/   ro   s       r   test_get_loc_masked_naz%TestGetIndexer.test_get_loc_masked_naL  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          t          t          j        dddt          j        g          t          j        g d                              }|                    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 t          j        t          d	          5  |                    t          j                   d d d            n# 1 swxY w Y   t          t          t          j        ddt          j        g          t          j        g d
                              }|                    t          j                  }|dk    sJ t          j        t          d	          5  |                    t                     d d d            d S # 1 swxY w Y   d S )Nr   r   )FFTF)maskr7   )r   r   r(   )FFTr2   r!   )FFFr   )
r   r
   r   r]   r2   r   r   r#   r$   r-   )r   r/   ro   s      r   test_get_loc_masked_na_and_nanz-TestGetIndexer.test_get_loc_masked_na_and_nanZ  s[   !Q26*++"(;V;V;V2W2W  
 

 R{{{{RV$${{{{"(;;;//bh?S?S?S6T6TUUU
 
 R{{{{]85111 	  	 KK	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  !Q((rx8M8M8M/N/N  
 

 RV$${{{{]84000 	 	KKOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$    EEE)HHHrK   r   c                     t          ddt          d|g|          }|                    dt          dg          }t          j        g d          }t          j        ||d           d S )	Nr   r   r7   r   rX   r   F)check_dtype)r   r   get_indexer_forr   r]   r_   r   )r   r   rK   r/   ro   rn   s         r   test_get_indexer_masked_naz)TestGetIndexer.test_get_indexer_masked_nax  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/   ro   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   r[   r   )r#   r   r   r	   r]   
dictionaryint8r\   r   rG   r_   r   r   )
r   par   r/   ro   rn   result_1result_2
expected_1
expected_2s
             r   (test_get_indexer_arrow_dictionary_targetz7TestGetIndexer.test_get_indexer_arrow_dictionary_target  s1    ++!QbmmBGGIIrwwyy&I&IJJ 
 

 QCjj((8QG28444
#FH555 77??(!#1b'!B!B!BBHCrxE
 E
 E
J
 	#Hj999
#Hj99999r   )"rM   rN   rO   re   r#   rP   rQ   r   r]   r^   rp   rx   r   listtupler   zipr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rR   r   r   rT   rT   k   s;       ' ' ' [Yu66[RX&&&bg666>RX&&&bg666@RXoooRW555zBRXoooRW555w?		
 	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[C ///???C[[[***5 	
 	
 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    < [UQF++I I ,+I [Wy/&BCC  DC: : : : :r   rT   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   rX   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                                          z   t
          j                  }|                     ||                    }t          j        ||           d S )NTFr   r   )	r   wherer   	_na_valuetolistr   r,   r_   assert_index_equal)r   listlike_boxr   condrn   ro   s         r   
test_wherezTestWhere.test_where  s     vE

"\\$//00w$3u::>22%/*U122Y-=-=-?-??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   rZ   r   r   )FTFr   )r   rZ   r   )	r   r   r   r]   rG   r   r_   r   putmask)r   r/   r   r   rn   ro   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   r2   notnar   r_   r   )r   r   r   r   rn   ro   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)rM   rN   rO   r#   rP   rQ   r   r   rB   r   rG   r   r   r   rR   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   r7   rW   r*   r   name)r7   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   r[   )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   r]   r_   r   r2   r#   r$   rw   
IndexError)r   r/   ro   rn   r4   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///( 	 ]: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   r7   zUnable to fill values because z cannot contain NAr!   Tr   Fr   r   r   r   r   r   )r   r   r   r]   r_   r   r   rM   r#   r$   rw   r   )r   r   r/   ro   rn   r   r4   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)rM   rN   rO   r#   rP   rQ   r   r,   rG   r   r   r   r   rR   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   r7   rW   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   r2   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)rM   rN   rO   r#   rP   rQ   r   r,   rG   r   r  r  r  rR   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   rX   rZ   r   rz   rr   r   r   startr7   r   )r7   rZ   rX   rr   end)r   rZ   rz   )r   r   r[   r   rZ   r   )r   rX   r   r   r]   r   r3   r   r   r   nrb   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      $@r7   g      @g      %@)r7   r   r[   r~   r+   r  r   r  r  s        r   test_slice_locs_float_locsz(TestSliceLocs.test_slice_locs_float_locs1  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)rr      r     r   r  r   r7         r[   )r   r   r]   r3   )r   r   r   rb   s       r   test_slice_locs_dup_numericz)TestSliceLocs.test_slice_locs_dup_numeric<  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   r7   r   )r   rX   )r   r   r2   r3   r   s     r   test_slice_locs_naz TestSliceLocs.test_slice_locs_naF  s    rvq!n%%""f,,,,''61111q"&"&!Q/00''6111111r   c                 d   t          t          j        ddg          }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 )Nr   r    r!   r+   r  r  )r   r   r2   r#   r$   r-   r3   r   s     r   test_slice_locs_na_raisesz'TestSliceLocs.test_slice_locs_na_raisesN  s*   rvq!n%%]82... 	( 	(3'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]82... 	& 	&%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s#   AA"AB%%B),B)N)rM   rN   rO   r#   rP   rQ   intfloatr  r  r  r   r#  rR   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   rW   )r   rX   c                 |    t          t          d                    }|                    d|          }||k    sJ d S )NrZ   rW   sider   r   get_slice_bound)r   r*  rn   r   ro   s        r   test_get_slice_bounds_withinz/TestGetSliceBounds.test_get_slice_bounds_withinX  sB    eAhh&&qt&44!!!!!!r   r*  r   r   zbound, expected)r[   r   )rr   rZ   c                 |    t          t          d                    }|                    ||          }||k    sJ d S )NrZ   r)  r+  )r   r*  rn   boundr   ro   s         r   test_get_slice_bounds_outsidez0TestGetSliceBounds.test_get_slice_bounds_outside^  sD     eAhh&&u4&88!!!!!!r   N)rM   rN   rO   r#   rP   rQ   r-  r0  rR   r   r   r'  r'  W  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_testingr_   pandas.core.arraysr	   r
   fixturer   r   rT   r   r   r   r
  r'  rR   r   r   <module>r8     s
        + + + + + +                           ) ) )M% M% M% M% M% M% M% M%`r: r: r: r: r: r: r: r:j	)0 )0 )0 )0 )0 )0 )0 )0X@( @( @( @( @( @( @( @(F        5& 5& 5& 5& 5& 5& 5& 5&p" " " " " " " " " "r   