
    OwgX                        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y)    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    a/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/numeric/test_indexing.pyindex_larger      s     DEbii((    c                       e Zd Zd Zd Zd Zd Zd Zej                  j                  ddgdg ed	      gd
gg      d        Zej                  j                  dg d      d        Zd Zy)
TestGetLocc                 J    t        g d      }|j                  d      dk(  sJ y )Nr         r   )r   get_locselfindexs     r   test_get_loczTestGetLoc.test_get_loc   s#    i }}Q1$$$r   c                     t        g d      }t        j                  t        d      5  |j	                  ddg       d d d        y # 1 sw Y   y xY w)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@    i ]],K@ 	"MM1a&!	" 	" 	"s   AAc                 F   t        g dt        j                        }t        j                  t
        d      5  |j                  d       d d d        t        j                  t
        d      5  |j                  d       d d d        t        j                  t
        d      5  |j                  d	       d d d        t        j                  t
        d
      5  |j                  d       d d d        y # 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)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    O2::6]]895 	KK	]]895 	KK	]]884 	KK	]]895 	KK	 		 		 		 		 	s/   C3.C?#DD3C<?DDD c                 r   t        t        j                  ddgt        j                        }|j	                  d      dk(  sJ |j	                  t        j                        dk(  sJ t        t        j                  dt        j                  gt        j                        }|j	                  d      dk(  sJ d}t        j                  t        |      5  |j                  t        j                         d d d        t        t        j                  dt        j                  t        j                  gt        j                        }|j	                  d      dk(  sJ d}t        j                  t        |      5  |j                  t        j                         d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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   s7   RVVQN"**5{{1~"""{{266"a'''RVVQ'rzz:{{1~""" H]]83/ 	#NN266"	# RVVQ/rzzB{{1~"""F]]83/ 	#NN266"	# 	#	# 	#	# 	#s    F!8 F-!F*-F6c                 *   t        ddgt        j                        }|j                  d      dk(  sJ t	        j
                  t        d      5  |j                  d       d d d        t	        j
                  t        d      5  |j                  t        j                         d d d        t	        j
                  t        d	      5  |j                  t        j                  g       d d d        y # 1 sw Y   xY w# 1 sw Y   ZxY w# 1 sw Y   y xY w)
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 	KKN	]]873 	 KK	 ]],J? 	"KK!	" 	"		 		  	 	" 	"s$   C1 C=!D	1C:=D	Dvalsr   r(   z
2019-12-31testc                     t        |      }t        j                  t        d      5  |j	                  t
        j                         d d d        y # 1 sw Y   y xY w)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@     Dk]]851 	 KK	  	  	 s    AAr   )f8i8u8c                     t        j                  d|      }t        |      }t        j                  t
        d      5  |j                  d        d d d        y # 1 sw Y   y xY w)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   sL     iiU+Cj]]862 	KK	 	 	s   AA"c                    t        g d      }t        j                  t        j                        j                  dz   }t        j                  t        t        |            5  |j                  |       d d d        t        j                  t        t        |            5  |j                  j                  |       d d d        y # 1 sw Y   RxY w# 1 sw Y   y xY w)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_   s    Ihhrxx $$q(]]83s84 	KK	]]83s84 	%KK$	% 	%	 		% 	%s   "C CCCN)__name__
__module____qualname__r   r%   r0   r5   r8   r#   markparametrizer   r<   rD   rL    r   r   r   r      s    %"

#&
" [[VqcC59\3J2KfX%VW  X  [[W&89 :	%r   r   c                   "   e Zd Zd Zej
                  j                  dddg      ej
                  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
                  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
                  j                  deeeej                  g      ej
                  j                  d e eg d g d!g d"gg dg dg d#g                  d$               Zd% Zej
                  j                  d&dg d'fdg d(fdg d)fg      d*        Zej
                  j                  d+g d,      ej
                  j                  d-d.d/g      d0               Zej
                  j                  d-g d1      d2        Zd3 Zd4 Zd5 Zd6 Zd7 Zej
                  j                  d8d9d:d;efeefg      d<        Zd= Zd> Zej
                  j                  d?d;d@g      dA        Zej
                  j                  dBdCdDg      dE        Z dF Z!y)GTestGetIndexerc                     t        g d      }t        g d      }|j                  |      }t        j                  g dt        j                        }t        j                  ||       y )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    'y!'XXj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   }|j                  ||      }t        j                  ||       y )NrV   rY   r[   method)r   r\   r_   r`   )r   rf   expectedrm   ra   rb   results          r   test_get_indexer_methodsz'TestGetIndexer.test_get_indexer_methodst   sZ     'y!DbD\F"~H##F6#:
vx0r   c                 T   t        t        j                  d            }t        j                  t
        d      5  |j                  ddgd       d d d        t        j                  t
        d      5  |j                  ddgd       d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)	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   s    biim$]]:-AB 	3q!f2	3 ]]:-=> 	/q!fA.	/ 	/	3 	3	/ 	/s   B3BBB'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            }|j                  |||      }t	        j
                  |t        j                  |t        j                               y )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   sL    * biim$""76Y"O
##FBHHXRWW,MNr   listtypeztolerance, expected)333333?r   皙?)r}   r   r   )r         ?r   )r[   r   rz   c                     t        t        j                  d            }|j                  g dd ||            }t	        j
                  |t        j                  |t        j                               y )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   sX     biim$""I)9L # 
 	##FBHHXRWW,MNr   c                 \   t        t        j                  d            }t        j                  t
        d      5  |j                  ddgdd       d d d        t        j                  t
        d      5  |j                  ddgdg d	
       d d d        y # 1 sw Y   FxY w# 1 sw Y   y xY w)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   s    biim$]]:-=> 	Aq!fYa@	A ]]:-HI 	Mq!fY)L	M 	M	A 	A	M 	Ms   B4B"B"B+zmethod,expected)r      r   )rz   r   r   )rz   r   r   c                    t        t        j                  d            d d d   }|j                  g d|      }t	        j
                  |t        j                  g dt        j                               |j                  g d|      }t	        j
                  |t        j                  |t        j                               y )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    
 biim$TrT*""9V"<
##FBHHYbgg,NO""?6"B
##FBHHXRWW,M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                  ||       y t        j                  dt        j                        }t        j                  |d   |       t        j                  |d	   |       y )
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    
 &qMM!"))AY"?@M)*//688L8]"''9ii1G''q	8<''q	7;r   )rg   ri   r{   c                 D   t        g d      }t        ddg      }t        j                  t        d      5  |j	                  ||       d d d        t        j                  t        d      5  |j	                  ||       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)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    YtUm$]]9,<= 	3U62	3 ]]9,<= 	3d62	3 	3	3 	3	3 	3s   B
-B
BBc                    t        g d      }t        ddg      }|j                  |      }dt        j                  t	        |      t        j
                        z  }t        j                  ||       |j                  |      }dt        j                  t	        |      t        j
                        z  }t        j                  ||       |j                  |      d   }dt        j                  t	        |      t        j
                        z  }t        j                  ||       |j                  |      d   }dt        j                  t	        |      t        j
                        z  }t        j                  ||       y )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   s   YtUm$u%E
"''::
##C2%D	99
##C2))%03E
"''::
##C2**403D	99
##C2r   c                    t        g dt        j                        }t        j                  |j                  |      t        j                  g dt        j                               g d}t        j                  |j                  |d      t        j                  g dt        j                               t        j                  |j                  |d      t        j                  g dt        j                               t        j                  |j                  |d      t        j                  g d	t        j                               y )
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    O2::6
##OOC "((9BGG"D	
 "
##OOFE*BHHZrww,O	
 	##OOFJ/)2771S	
 	##OOFI."''0R	
r   c                    t        ddt        j                  gt        j                        j	                  t        j                  g      }t        j
                  dgt        j                        }t        j                  ||       y )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  sS    1bff~RZZ8DDbffXN88QCrww/
##FH5r   c                 @   t        t        ddd      t        j                        }t        t        j                  d      t        j                        }|j                  |      }t        j                  g dt        j                        }t        j                  ||       t        t        j                  d      t        j                        }|j                  |d      }t        j                  g d	t        j                        }t        j                  ||       t        t        j                  d      t        j                        }|j                  |d
      }t        j                  g dt        j                        }t        j                  ||       y )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!  s   eAr1oRXX6ryy}BHH5##F+88?rwwO
##GX6ryy}BHH5##F5#988:"''J
##GX6ryy}BHH5##F:#>88:"''J
##GX6r   c                    t        t        j                  d      j                  d      dz  dz         }|j	                  |      }t        j
                  g dt        j                        }t        j                  ||       t        t        j                  d      j                  d      dz  dz         }|j	                  |d      }t        j
                  g d	t        j                        }t        j                  ||       t        t        j                  d      j                  d      dz  dz         }|j	                  |d
      }t        j
                  g dt        j                        }t        j                  ||       y )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  s    ryy}++H59EAB))&188?rwwO
##GX6ryy}++H59EAB))&)?88:"''J
##GX6ryy}++H59EAB))&)D88>bggN
##GX6r   z	val, val2)rW   rX   )rW   rW   rW   c                     t        ddd||g|      }|j                  d      }|dk(  sJ t        j                  t        d      5  |j                  d       d d d        y # 1 sw Y   y xY w)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  sc     Q1c4(0NOQ{{]]83/ 	KKN	 	 	s   A!!A*c                    t        ddt        g|      }|j                  t              }|dk(  sJ t        ddt        t        g|      }|j                  t              }t        j                  |t        j                  g d             t        g d|      }t        j                  t        d      5  |j                  t               d d d        y # 1 sw Y   y xY w)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R{{Q2rN*HIR
##FBHH5O,PQI%CD]]840 	KKO	 	 	s   4CCc           
         t        t        t        j                  dddt        j                  g      t        j                  g d                  }|j                  t              }|dk(  sJ |j                  t        j                        }|dk(  sJ t        t        t        j                  g d      t        j                  g d                  }|j                  t              }|dk(  sJ t        j                  t        d	      5  |j                  t        j                         d d d        t        t        t        j                  ddt        j                  g      t        j                  g d
                  }|j                  t        j                        }|dk(  sJ t        j                  t        d	      5  |j                  t               d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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  sp   !Q266*+"((;V2W

 R{{RVV${{"((;/bhh?S6TU
 R{{]]851 	 KK	  !Q(rxx8M/N

 RVV${{]]840 	KKO	 		  	 	 	s   
 G!G-!G*-G6rK   r   c                     t        ddt        d|g|      }|j                  dt        dg      }t        j                  g d      }t        j                  ||d       y )	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  sR     Q2q#&.LM$$aQZ088J'
##FH%Hr   r   booleanbool[pyarrow]c                     |dk(  rt        j                  d       t        ddt        g|      }|j	                  d      }|dk(  sJ |j	                  t              }|dk(  sJ y )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  s`     O#	*T5"%U3U#{{R{{r   c                    t        j                  d      }t        t        |j	                  ddg|j                  |j                         |j                                                 }t        dg      }|j                  |      }t        j                  ddgt        j                        }t        j                  ||       |j                  |      \  }}t        j                  ddgt        j                        t        j                  dgt        j                        }	}t        j                  ||       t        j                  ||	       y )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  s      +!QbmmBGGIrwwy&IJ

 QCj(88QG2884
##FH5 77?(!#1b'!BBHHCrxxE
J
 	##Hj9
##Hj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   sx   ' [[Yu6[[RXX&bgg6>RXX&bgg6@RXXoRWW5zBRXXoRWW5w?		
	1 7	1/ [[.D)Y/y)4i3Ay),Iy19i0D/95	:oy9A	2OY7?I6C+6o{;_j9	
(O)(O [[Z$vrxx)HI[[ /?C[*5	
O JOM [[
	j)4y)6LMO	O [[[*QR[[X7O'PQ< R S<& [[X'EF3 G33(
"67"7  [[[66Ar7RH*MN O< [[UQF+I ,I [[Wy/&BC D:r   rT   c                       e Zd Zej                  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y)	TestWherer   rX   r,   r   r   r   r   r   c                 N   dgt        |      z  }|}|j                   ||            }dgdgt        |      dz
  z  z   }t        |j                  g|dd  j	                         z   t
        j                        }|j                   ||            }t        j                  ||       y )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w$3u:>22%//*U12Y-=-=-??rzzR\$/0
fh/r   c                    t        g dt        j                        }t        j                  g d      }t        j                  dgt        j                        }t        g dt        j                        }|j                  ||      }t        j                  ||       |j                  | |      }t        j                  ||       y )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    IRYY/xx,-!BHH-"))44'
fh/dUE*
fh/r   c                     t        dt        j                  g      }|j                         }t        ddgd      }t        ddg      }|j	                  ||      }t        j                  ||       y )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  s]    q"&&k"{{}sCj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     su    [[)"))AY/0%2q/2)"))AX./	
000	0r   r   c                      e Zd Zej                  j                  dej                  ej                  ej                  g      d        Z
d Zej                  j                  dej                  ej                  g      d        Zy)TestTaker   c                     t        g d|d      }|j                  g d      }|j                  |j                  k(  sJ y )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  s4    l)%@

9%zzUZZ'''r   c                    t        g ddt        j                        }|j                  t        j                  g d            }t        g dt        j                  d      }t        j                  ||       |j                  t        j                  g d      d      }t        d	d
t        j                  gt        j                  d      }t        j                  ||       |j                  t        j                  g d      dd      }t        g dt        j                  d      }t        j                  ||       d}t        j                  t        |      5  |j                  t        j                  g d      d       d d d        t        j                  t        |      5  |j                  t        j                  g d      d       d d d        d}t        j                  t        |      5  |j                  t        j                  ddg             d d d        y # 1 sw Y   xY w# 1 sw Y   bxY w# 1 sw Y   y xY w)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   O%rzzB"((:./

G
fh/ "((:.4@#sBFF+2::EJ
fh/ "((:.5TR

G
fh/( 	 ]]:S1 	<HHRXXj)dH;	<]]:S1 	<HHRXXj)dH;	< D]]:S1 	(HHRXXq"g&'	( 	(	< 	<	< 	<	( 	(s$   )H(*)H48'I (H14H= I	r   c                 R   t        g d|d      }|j                  t        j                  g d            }t        g d|d      }t	        j
                  ||       t        |      j                  }d| d}t        j                  t        |      5  |j                  t        j                  g d      d	
       d d d        |j                  t        j                  g d      dd	      }t        g d|d      }t	        j
                  ||       t        j                  t        |      5  |j                  t        j                  g d      d	
       d d d        t        j                  t        |      5  |j                  t        j                  g d      d	
       d d d        d}t        j                  t        |      5  |j                  t        j                  ddg             d d d        y # 1 sw Y   >xY w# 1 sw Y   xY w# 1 sw Y   oxY w# 1 sw Y   y xY w)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    IU7"((:./%e<
fh/Cy!!.tf4FG ]]:S1 	<HHRXXj)dH;	< "((:.5TR%e<
fh/]]:S1 	<HHRXXj)dH;	<]]:S1 	<HHRXXj)dH;	< D]]:S1 	(HHRXXq"g&'	( 	(	< 	<	< 	<	< 	<	( 	(s0   )G8.)H:)H'H8HHHH&N)rM   rN   rO   r#   rP   rQ   r   r,   rG   r   r   r   r   rR   r   r   r   r     sp    [[[2::rxx*KL( M(
(< [[Wrxx&;<( =(r   r   c                       e Zd Zej                  j                  dej                  ej                  ej                  g      d        Z
d Zd Zy)TestContainsr   c                 .    t        g d|      }d |vsJ y )N)r   r   r   r7   rW   r   )r   )r   r   r   s      r   test_contains_nonezTestContains.test_contains_none  s     oU35   r   c                     t        ddt        j                  gt        j                        }t        j                  |v sJ y Nr(   r)   r   r   r   r2   r,   r   s     r   test_contains_float64_nansz'TestContains.test_contains_float64_nans  s-    sC(

;vvr   c                 h    t        ddt        j                  gt        j                        }d|v sJ y r  r  r   s     r   test_contains_float64_not_nansz+TestContains.test_contains_float64_not_nans  s)    sC(

;e||r   N)rM   rN   rO   r#   rP   rQ   r   r,   rG   r   r  r  r  rR   r   r   r   r     sC    [[Wrzz288RYY&GH! I!
r   r   c                       e Zd Zej                  j                  deeg      d        Zej                  j                  deeg      d        Z	ej                  j                  deeg      d        Z
d Zd Zy)TestSliceLocsr   c                    t        t        j                  g d|            }t        |      }|j	                  d      d|fk(  sJ |j	                  d      d|fk(  sJ |j	                  dd      dk(  sJ |j	                  dd	      d|fk(  sJ |j	                  d
      dk(  sJ |j	                  d
      dk(  sJ |d d d   }|j	                  dd      dk(  sJ |j	                  dd      dk(  sJ y )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   bhh8FGJa(QF222a(QF2221%///2&1a&000A&&000A&&000 tt  A&&000  A&&000r   c                 .   t        t        j                  g d|            }t        |      }|j	                  dd      d|fk(  sJ |j	                  dd      dk(  sJ |d d d	   }|j	                  d
d      dk(  sJ |j	                  dd	      d|fk(  sJ y )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    bhh8FGJT*q!f444T*f444tt  c*f444  r*q!f444r   c                    t        t        j                  g d|            }|j                  dd      dk(  sJ |j                  dd      dk(  sJ |d d d   }|j                  dd      dk(  sJ |j                  dd      dk(  sJ y )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    bhh/u=>B'6111B'6111tt  R(F222  R(F222r   c                 P   t        t        j                  ddg      }|j                  d      dk(  sJ |j                  t        j                        dk(  sJ t        dt        j                  t        j                  ddg      }|j                  t        j                        dk(  sJ y )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    rvvq!n%"f,,,'6111q"&&"&&!Q/0'6111r   c                 D   t        t        j                  ddg      }t        j                  t
        d      5  |j                  d       d d d        t        j                  t
        d      5  |j                  d       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)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    rvvq!n%]]82. 	(3'	( ]]82. 	&%	& 	&	( 	(	& 	&s   B
.B
BBN)rM   rN   rO   r#   rP   rQ   intfloatr  r  r  r   r#  rR   r   r   r
  r
    s    [[WsEl31 41  [[WsEl35 45 [[WsEl33 432&r   r
  c                       e Zd Zej                  j                  dddg      d        Zej                  j                  dddg      ej                  j                  dd	d
g      d               Zy)TestGetSliceBoundszside, expected)r   rW   )r   rX   c                 `    t        t        d            }|j                  d|      }||k(  sJ y )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  s2    eAh&&qt&4!!!r   r*  r   r   zbound, expected)r[   r   )rr   rZ   c                 `    t        t        d            }|j                  ||      }||k(  sJ y )NrZ   r)  r+  )r   r*  rn   boundr   ro   s         r   test_get_slice_bounds_outsidez0TestGetSliceBounds.test_get_slice_bounds_outside^  s4     eAh&&u4&8!!!r   N)rM   rN   rO   r#   rP   rQ   r-  r0  rR   r   r   r'  r'  W  sv    [[-\/JK" L"
 [[Vfg%67[[.'0BC" D 8"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%`r: r:j	)0 )0X@( @(F  5& 5&p" "r   