
    A>i                        S r SSKrSSKrSSKrSSKJr  SSKJr  SSK	J
r  S rS rS r\R                  R!                  S5      S	 5       rS
 rS rS r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      rg)z9
Tests that can be parametrized over _any_ Index object.
    N)InvalidIndexError)StringDtypec                     [         R                  " [        SS9   U (       a   S S S 5        [         R                  " [        SS9   [        U 5        S S S 5        g ! , (       d  f       N<= f! , (       d  f       g = f)NzThe truth value of amatch)pytestraises
ValueErrorboolindexs    b/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/indexes/test_any_index.pytest_boolean_context_compatr      sR    	z)?	@ 
A 
z)?	@U 
A	@	 
A	@ 
A	@s   	AA*
A'*
A8c                     [         R                  " [        S[        U 5      R                   S3S9   [        U 5        S S S 5        g ! , (       d  f       g = f)Nzunhashable type: ''r   )r   r	   	TypeErrortype__name__hashr   s    r   test_hash_errorr      s:    	y*<T%[=Q=Q<RRS(T	UU 
V	U	Us   A
Ac                     [        U 5      (       d  [        R                  " S5        Sn[        R                  " [        US9   U S   U S'   S S S 5        g ! , (       d  f       g = f)Nz'Test doesn't make sense for empty indexz)Index does not support mutable operationsr   r   )lenr   skipr	   r   )r   msgs     r   test_mutabilityr      sD    u::=>
5C	y	,8a 
-	,	,s   	A
A"z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    U(       dg  [        U R                  [        5      (       aH  U R                  R                  S:X  a.  [        R
                  R                  SS9nUR                  U5        U R                  S 5      nU R                  [        :X  a0  UR                  [        S4;   a  X:H  R                  5       (       d   eg [        R                  " X@SS9  g )NpythonzDoes not preserve dtypereasonc                     U $ N )xs    r   <lambda>+test_map_identity_mapping.<locals>.<lambda>2   s        stringequivexact)
isinstancedtyper   storager   markxfailapplymarkermapobjectr   alltmassert_index_equal)r   requestusing_infer_stringr.   results        r   test_map_identity_mappingr9   '   s     u{{K00KK8+{{  (A BD!YY{#F{{f&,,42B"B$$&&&&&w7r&   c                     U R                   / SQ-  n[        R                  " [        SS9   Xl        S S S 5        g ! , (       d  f       g = f)N)applebananacarrotz^Lengthr   )nlevelsr   r	   r
   names)r   r?   s     r   test_wrong_number_namesr@   :   s0    MM99E	z	3 
4	3	3s	   ;
A	c                 X    U R                  5       R                  U R                  :X  d   eg r!   )viewnamer   s    r   test_view_preserves_namerD   @   s     ::<

***r&   c                 P    U R                  5       n[        R                  " X5        g r!   )ravelr4   r5   )r   ress     r   
test_ravelrH   D   s    
++-C#%r&   c                   &    \ rS rSrS rS rS rSrg)TestConversionJ   c                     UR                  5       nUR                  UR                  Ld   eUR                  ULd   eUR                  UR                  :X  d   eg r!   	to_seriesvaluesr   rC   selfr   sers      r   test_to_seriesTestConversion.test_to_seriesK   sN     oozz---yy%%%xx5::%%%r&   c                 `   UR                  US9nUR                  UR                  Ld   eUR                  UL d   eUR                  UR                  :X  d   eUR                  SS9nUR                  UR                  Ld   eUR                  ULd   eUR                  UR                  :w  d   eg )Nr   __testrC   rM   rP   s      r   test_to_series_with_arguments,TestConversion.test_to_series_with_argumentsS   s     ooEo*zz---yyE!!!xx5::%%% oo8o,zz---yy%%%xx5::%%%r&   c                 B    UR                  5       [        U5      :X  d   eg r!   )tolistlistrQ   r   s     r   test_tolist_matches_list'TestConversion.test_tolist_matches_listd   s    ||~e,,,r&   r"   N)r   
__module____qualname____firstlineno__rS   rX   r^   __static_attributes__r"   r&   r   rJ   rJ   J   s    &&"-r&   rJ   c                        \ rS rSrS rS rSrg)TestRoundTripsh   c                     [         R                  " X5      n[         R                  " X1SS9  UR                  S:  a  UR	                  U5      (       d   eg g )NTr)      )r4   round_trip_pickler5   r>   equal_levels)rQ   r   	temp_filer8   s       r   test_pickle_roundtrip$TestRoundTrips.test_pickle_roundtripi   sJ    %%e7
f48>>A%%f---- r&   c                     UR                   Sso1l         [        R                  " X5      nUR                  U5      (       d   eX1l         g )Nfoo)rC   r4   ri   equals)rQ   r   rk   original_name	unpickleds        r   test_pickle_preserves_name)TestRoundTrips.test_pickle_preserves_namep   s<    $)JJ!z((:	||I&&&&"
r&   r"   N)r   r`   ra   rb   rl   rs   rc   r"   r&   r   re   re   h   s    .#r&   re   c                   t    \ rS rSrS rS rS rS r\R                  R                  S/ SQ5      S 5       rS	rg
)TestIndexingw   c                     [        U5      S:X  a  [        R                  " SS9  [        R                  " S5      nX   nX1S   :X  d   eg )Nr   zTest assumes non-empty indexr   )r   r   r   nparray)rQ   r   keyr8   s       r   test_getitem_0d_ndarray$TestIndexing.test_getitem_0d_ndarrayx   s>    u:?KK=>hhqkq!!!r&   c                    [         R                  " SS/[         R                  S9n[        R                  " [
        SS9   UR                  U5        S S S 5        [        R                  " [
        SS9   UR                  UR                  [        5      5        S S S 5        g ! , (       d  f       NU= f! , (       d  f       g = f)Nr   rh   )r,   z\[0 1\]r   z\[False  True\])	ry   rz   intpr   r	   r   get_locastyper   )rQ   r   r{   s      r   0test_get_loc_listlike_raises_invalid_index_error=TestIndexing.test_get_loc_listlike_raises_invalid_index_error   s    hh1vRWW-]],J?MM# @ ]],4FGMM#**T*+ HG @? HGs   B 2%B1 
B.1
B?c                 J    US   nUR                  U5      (       d   eX!Ld   eg )N.)rp   )rQ   r   r8   s      r   test_getitem_ellipsis"TestIndexing.test_getitem_ellipsis   s,    s}}U####"""r&   c                 B    UR                   USS  R                   :X  d   eg )Nrh   rW   r]   s     r   test_slice_keeps_name"TestIndexing.test_slice_keeps_name   s    zzU12Y^^+++r&   item)e   no_intg      @c                     SR                  S[        R                  " S5      S/5      n[        R                  " [
        US9   X     S S S 5        g ! , (       d  f       g = f)N|z5index 101 is out of bounds for axis 0 with size [\d]+zuonly integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indiceszindex out of boundsr   )joinreescaper   r	   
IndexError)rQ   r   r   r   s       r   test_getitem_errorTestIndexing.test_getitem_error   sO    hhH		(
 &

 ]]:S1K 211s   A
Ar"   N)r   r`   ra   rb   r|   r   r   r   r   r.   parametrizer   rc   r"   r&   r   rv   rv   w   s<    ",#, [[V%9: ;r&   rv   c                       \ rS rSrS rSrg)TestRendering   c                 |    SUl         S[        U5      ;   d   e[        U5      R                  [        U5      ;   d   eg )Nro   z'foo')rC   strr   r   r]   s     r   test_strTestRendering.test_str   s7    
#e*$$$E{##s5z111r&   r"   N)r   r`   ra   rb   r   rc   r"   r&   r   r   r      s    2r&   r   c                       \ rS rSrS rSrg)TestReductions   c                    Sn[         R                  " [        US9   UR                  SS9  S S S 5        [         R                  " [        US9   UR	                  SS9  S S S 5        [         R                  " [        US9   UR                  SS9  S S S 5        [         R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nb= f! , (       d  f       g = f)Nz8`axis` must be fewer than the number of dimensions \(1\)r   rh   )axis   )r   r	   r
   argmaxargminminmax)rQ   r   r   s      r   test_argmax_axis_invalid'TestReductions.test_argmax_axis_invalid   s    I]]:S1LLaL  2]]:S1LLaL  2]]:S1II2I 2]]:S1II2I 21 21111111s/   CC>C*/C;
C
C'*
C8;
D	r"   N)r   r`   ra   rb   r   rc   r"   r&   r   r   r      s    
r&   r   )__doc__r   numpyry   r   pandas.errorsr   pandasr   pandas._testing_testingr4   r   r   r   r.   filterwarningsr9   r@   rD   rH   rJ   re   rv   r   r   r"   r&   r   <module>r      s    
   +  
 RS8 T8$+&- -<# #+ +\2 2 r&   