+
    yȇiG                        R t ^ RIHtHt ^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIt^ RIHtHtHtHt ^ RIHt  ! R R4      t]P0                  P3                  R	4      ]P0                  P5                  R
RR.4      R 4       4       t]P0                  P3                  R	4      ]P0                  P5                  R
RR.4      R 4       4       tR tR tR tR t R t!R t"R# )z
Collection of tests asserting things that should be true for
any index subclass except for MultiIndex. Makes use of the `index_flat`
fixture defined in pandas/conftest.py.
)copydeepcopyN)IS64)Pandas4Warning)is_integer_dtypeis_numeric_dtype)CategoricalIndex
MultiIndexPeriodIndex
RangeIndexc                   t  a  ] tR t^"t o ]P
                  P                  RRR.4      R 4       tR tR t	R t
R tR	 t]P
                  P                  R
 4       tR tR tR tR tR t]P
                  P)                  R4      ]P
                  P)                  R4      R 4       4       t]P
                  P)                  R4      R 4       t]P
                  P)                  R4      R 4       tR t]P
                  P)                  R4      R 4       t]P
                  P                  R. RO4      R 4       tR tRtV tR# )
TestCommonnameNnew_namec                J   TpV'       d   TpMVP                   ;'       g    ^ pVP                  VR7      pVP                  VJ g   Q h\        VP                  4      ^8X  g   Q hVP                  ^ ,          V8X  g   Q hVP                  RVR7      pVP                  VJg   Q hR# )    r   F)indexr   N)r   to_framer   lencolumns)selfr   
index_flatidxidx_namedfs   &&&   p/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/indexes/test_common.pytest_to_frameTestCommon.test_to_frame#   s     Hxx}}1H\\x\(xx32::!###zz!}(((\\H\5xxs"""    c                `   TpVP                  . 4      P                  V4      '       g   Q hVP                  VP                  .3 Ft  p\        VP                  \        4      '       d   W2P                  J d   K4  R p\
        P                  ! \        VR7      ;_uu_ 4        VP                  V4       RRR4       Kv  	  RR.3 FA  p\
        P                  ! \        RR7      ;_uu_ 4        VP                  V4       RRR4       KC  	  R#   + '       g   i     K  ; i  + '       g   i     Kl  ; i)zTCannot remove 1 levels from an index with 1 levels: at least one level must be left.matchNwrongz>'Requested level \(wrong\) does not match index name \(None\)')		droplevelequalsr   
isinstancetuplepytestraises
ValueErrorKeyError)r   r   r   levelmsgs   &&   r   test_droplevelTestCommon.test_droplevel6   s     r"))%0000jj5::,/E%**e,,**1D&  z55& 65 0 wi'EW  &	  ( 655  s   D(DDD-c                `   TpR pR..p\         P                  ! \        VR7      ;_uu_ 4        VP                  VR7       RRR4       \         P                  ! \        VR7      ;_uu_ 4        VP	                  VR7       RRR4       R#   + '       g   i     LQ; i  + '       g   i     R# ; i)z"Index.name must be a hashable type1r!   r   N)names)r(   r)   	TypeErrorrename	set_names)r   r   r   messagerenameds   &&   r   "test_constructor_non_hashable_name-TestCommon.test_constructor_non_hashable_nameO   sy    65' ]]9G44LLgL& 5 ]]9G44OO'O* 54	 54 544s   B	,B	B	B-	c                    Tp\        V4      ! W"P                  R 7      p\        P                  ! VP                  VP                  4       R# )dtypeN)typer<   tmassert_equal_data)r   r   abs   &&  r   test_constructor_unwraps_index)TestCommon.test_constructor_unwraps_index^   s1     GAWW%
)r   c                V    TpVP                  4       p\        P                  ! W24       R # N)to_flat_indexr>   assert_index_equal)r   r   r   results   &&  r   test_to_flat_indexTestCommon.test_to_flat_indexe   s#    $$&
f,r   c                4   TpR pVP                   pVP                  V.4      pVP                   V8X  g   Q hVP                   V8X  g   Q hVP                  VRR7      pVe   Q hVP                   V8X  g   Q hVP                  V.8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        VP                  R^ R7       RRR4       RpVP                  VRR7       VP                   V8X  g   Q hVP                  V.8X  g   Q hR#   + '       g   i     LN; i)	z#This is the new name for this indexTinplaceNzLevel must be Noner!   rA   r,   )AB)r   r5   r4   r2   r(   r)   r*   )r   r   r   r   original_namenew_indresr   s   &&      r   test_set_name_methods TestCommon.test_set_name_methodsl   s    8

//8*-||x'''zz]***ll8Tl2 {{zzX%%%{{xj(((]]:-ABBOOCqO) C T4(zzT!!!{{tf$$$ CBs   -DD	c                    \         P                  ! \        R R7      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)z	list-liker!   rA   N)r(   r)   r3   r5   )r   r   s   &&r   $test_set_names_single_label_no_level/TestCommon.test_set_names_single_label_no_level   s0    ]]9K88  % 9888s   AA	c                    Tp\         \        3 F+  pV! V4      pWBJg   Q hVP                  V4      '       d   K+  Q h	  VP                  R RR7      pVP                  R8X  g   Q hR# )Tbanana)deepr   N)r   r   r%   r   )r   r   r   funcidx_copynew_copys   &&    r   test_copy_and_deepcopy!TestCommon.test_copy_and_deepcopy   sf    8$DE{H(((??5)))) %
 ::4h:7}}(((r   c                   Tp\        V4      ! VR RR7      p\        V4      ! VRR7      pW4Jg   Q h\        P                  ! W44       VP                  V4      '       g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q h\
        P                  ! ^VR7      p\
        P                  ! ^VRR R7      pWV,          pVP                  P                  R8X  g   Q hR# )Tmario)r   r   F)r   )r   N)r=   r>   rH   r%   r   pdSeriesr   )r   r   r   firstseconds1s2s3s   &&      r   test_copy_nameTestCommon.test_copy_name   s     UE7;eU/ """
e, ||E""""zzW$$${{g%%% YYq&YYqs,Wxx}}'''r   c                   TpVP                  R R7      P                  R 8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        VP                  R R.R7       RRR4       \        V4      P                   R2p\        P                  ! \        VR7      ;_uu_ 4        VP                  R ..R7       RRR4       R#   + '       g   i     Lk; i  + '       g   i     R# ; i)rc   r   z$Length of new names must be 1, got 2r!   luigiNz.name must be a hashable type)r   r   r(   r)   r*   r=   __name__r3   )r   r   r   r-   s   &&  r   test_copy_name2TestCommon.test_copy_name2   s    zzwz',,777]]:-STTJJWg.J/ U e%%&&CD]]9C00JJgYKJ( 10	 UT 100s   
C#CC	C&	c                X   TpVP                  4       p^ VP                  R3 F+  pVP                  VR7      p\        P                  ! WS4       K-  	  Rp\
        P                  ! \        VR7      ;_uu_ 4        VP                  ^R7       RRR4       R\        P                  ! VP                  P                  4       4       R2p\
        P                  ! \        VR7      ;_uu_ 4        VP                  RR7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   NrO   z.Too many levels: Index has only 1 level, not 4r!   z6Requested level \(wrong\) does not match index name \(z\)r#   )drop_duplicatesr   uniquer>   rH   r(   r)   
IndexErrorreescape__repr__r+   )r   r   r   expectedr,   rI   r-   s   &&     r   test_unique_levelTestCommon.test_unique_level   s     ((*T*E\\\.F!!&3 + ?]]:S11LLqL! 2))EJJ//12327 	 ]]83//LLwL' 0/ 21 0//s   7D(DD	D)	c                   Tp\        V4      '       g   \        P                  ! R 4       V^ .^,          ,          pV^ .,          pVP                  RJ g   Q h VP                  RJ g   Q h VP                  4       p\        P                  ! WT\        V\        4      '       * R7       VP                  '       g   \        P                  ! R4       VP                  P                  4       ^ .^,          ,          p\        P                  V^ &   VR,          pVP!                  V4      pVP!                  V4      p	V	P                  RJ g   Q hVP"                  VP"                  8X  g   Q hV	P"                  VP"                  8X  g   Q hT	p
\%        W.4       F+  w  rVP                  4       p\        P                  ! WZ4       K-  	  R#   \
         d     ELci ; i)z)Skip check for empty Index and MultiIndexTFexactz%Skip na-check if index cannot hold na:N   NN)r   r(   skip	is_uniquehasnansNotImplementedErrorru   r>   rH   r&   r   _can_hold_na_valuesr   npnan_shallow_copyr<   	enumerate)r   r   r   r   
idx_uniquerI   valsvals_uniqueidx_nanidx_unique_nanrz   posis   &&           r   test_uniqueTestCommon.test_unique   s   5zzKKCDQC!GnA3Z
 ##t+++	%%... 
*UJ*G&G	

 !!!KK?@}}!!#QC!G,&&Q2h%%d+,,[9''4///}}+++##u{{222! 9:FCXXZF!!&3 ;1 # 		s   G   GGz*ignore:Period with BDay freq:FutureWarning3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                2   Tp\        V\        P                  4      '       d7   \        P                  P                  R \        R7      pVP                  V4       VP                  '       d   \        P                  ! R4       V^ ,          p^ W58H  P                  4       rvV^ 8X  d   \        V4      pVP                  '       g   VP                  '       do   VP                  VRR7      pWh8X  g   Q hVP                  VRR7      p	Wy8X  g   Q hVP                  VRR7      p
Wj8X  g   Q hVP                  VRR7      pW{8X  g   Q hR# Rp\        P                   ! \"        VR7      ;_uu_ 4        VP                  VRR7       RRR4       R#   + '       g   i     R# ; i)	z8IntervalIndex.searchsorted does not support Interval arg)reasonr)   zSkip check for empty Indexleft)siderightz0index must be monotonic increasing or decreasingr!   N)r&   re   IntervalIndexr(   markxfailr   applymarkeremptyr   argminr   is_monotonic_increasingis_monotonic_decreasing_searchsorted_monotonicsearchsortedr)   r*   )r   r   requestr   r   valueexpected_leftexpected_rightssm_left	ssm_rightss_leftss_rightr-   s   &&&          r   test_searchsorted_monotonic&TestCommon.test_searchsorted_monotonic   si     eR--..;;$$Q* % D % ;;;KK45a )*EN+B+B+D~Q ZN(((E,I,I,I44U4HH ,,,55e'5JI!...((V(<G +++))%g)>H!--- ECz55--e&-A 6555s   'FF	c                V   Tp\        V\        4      '       d   \        P                  ! R 4       \	        V4      ^ 8X  d   \        P                  ! R4       \        V4      p\        \        V4      4      p\        V4      '       d   VP                  MRpV! WVR7      p\	        V4      p\        P                  P                  ^4      P                  V\        VR,          4      4      p	V! VP                  V	,          4      p
\         P"                  ! V	4      P%                  VR7      P                  p\&        P(                  ! V
P%                  VR7      V4       V! \         P"                  ! V
4      P+                  VR7      4      p\&        P,                  ! V
P+                  VR7      V4       R# )zWRangeIndex is tested in test_drop_duplicates_no_duplicates as it cannot hold duplicateszXempty index is tested in test_drop_duplicates_no_duplicates as it cannot hold duplicatesNr;   g      ?)keep)r&   r   r(   r   r   r=   listsetr   r<   r   randomdefault_rngchoiceintvaluesre   rf   
duplicatedr>   assert_numpy_array_equalrt   rH   )r   r   r   r   holderunique_valuesr<   
unique_idxnduplicated_selectionr   expected_duplicatedexpected_droppeds   &&&          r   test_drop_duplicatesTestCommon.test_drop_duplicates%  sP    eZ((KK/ u:?KK/ eSZ(/66DM7
 
O!yy44Q7>>q#a#g,OZ&&';<= II*+66D6AHH 	 	##CNNN$=?RS ""))C."@"@d"@"KL
c11t1<>NOr   c                   Tp\        V\        4      '       d   TpMG\        V4      p\        \	        V4      4      p\        V4      '       d   VP                  MR pV! WVR7      p\        P                  ! R.\        V4      ,          RR7      p\        P                  ! VP                  4       V4       VP                  4       p\        P                  ! W4       WJg   Q hR # )Nr;   Fbool)r&   r   r=   r   r   r   r<   r   arrayr   r>   r   r   rt   rH   )	r   r   r   r   r   r   r<   r   result_droppeds	   &&       r   "test_drop_duplicates_no_duplicates-TestCommon.test_drop_duplicates_no_duplicatesI  s      eZ((J%[F U,M#3E#:#:EKKE;J !hhwZ'@O
##J$9$9$;=PQ#335
n9///r   c                    R p\         P                  ! \        VR7      ;_uu_ 4        VP                  RR7       RRR4       R#   + '       g   i     R# ; i)z6drop_duplicates\(\) got an unexpected keyword argumentr!   TrM   N)r(   r)   r3   rt   )r   r   r-   s   && r   test_drop_duplicates_inplace'TestCommon.test_drop_duplicates_inplace`  s8    G]]9C00!!$!/ 1000s   AA	c                   Tp\        V4      p\        V4      '       d   \        V\        4      '       d   \        P
                  ! R 4       V! V^ ,          .^,          4      pVP                  RJ g   Q hVP                  RJ g   Q hR# )z6Skip check for empty Index, MultiIndex, and RangeIndexFTN)r=   r   r&   r   r(   r   r   has_duplicates)r   r   r   r   r   s   &&   r   test_has_duplicatesTestCommon.test_has_duplicatese  sp     e5zzZz:: KKPQeAhZ!^$}}%%%!!T)))r   r<   c                   \        V\        4      '       d<   \        VP                  4       Uu. uF  pR \	        V4      ,           NK  	  upVn        MR Vn        VP                  P                  R8X  d"   VR9   d   \        P                  P                  MRp\	        VP                  4      R8H  ;'       d    VR8H  p \        P                  ! VVRR7      ;_uu_ 4        VP                  V4      pRRR4       \        T\        4      '       d    XP
                  TP
                  8X  g   Q hR# XP                  TP                  8X  g   Q hR# u upi   + '       g   i     Li; i  \        \         \"        \$        3 d     R# i ; i)r   cNzstring[pyarrow]categoryF)raise_on_extra_warningscheck_stacklevel)float64int64uint64)r&   r	   rangenlevelsstrr2   r   r<   kindr   
exceptionsComplexWarningr>   assert_produces_warningastyper*   r3   r   SystemError)r   r   r<   r   warnis_pyarrow_strrI   s   &&&    r   test_astype_preserves_name%TestCommon.test_astype_preserves_nameu  s8    eZ((383GH3Ga53q6>>3GHEKEJ {{3&54R+R MM(( 	 U[[)->>VV5JCV		++(6!& 
 e, eZ((<<5;;...;;%**,,,3 I  I':KH 		s5   E=!E$ E0E$ E!	E$ !E$ $FFc                   TpVP                  R R7      p\        P                  ! R.\        V4      ,          \        R7      p\
        P                  ! VP                  V4       VP                  RJ g   Q hVP                  R R7      pVP                  p\        V4      ^ 8X  d   R# \        VP                  4      '       d   R# VP                  \        8X  d   R# \        P                  V^&   \        V4      ! V4      p\        P                  ! R.\        V4      ,          \        R7      pR V^&   \
        P                  ! VP                  V4       VP                  R J g   Q hR# )T)r\   Fr;   N)r   r   r   r   r   r>   r   _isnanr   r   r   r<   r   r=   )r   r   r   r   rz   r   s   &&    r   test_hasnans_isnansTestCommon.test_hasnans_isnans  s    jjdj#88UGc#h.d;
##CJJ9{{e###jjdj#u:?ekk**[[D FFq	5k&!88UGc#h.d;
##CJJ9{{d"""r    )r   r   r   r   zdatetime64[ns]ztimedelta64[ns])rp   
__module____qualname____firstlineno__r(   r   parametrizer   r.   r8   rC   rJ   rU   r   rX   r`   rl   rq   r{   r   filterwarningsr   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r   "   si    [[VdJ%78# 9#$'2+*-%0 [[& &
	)(2)(*(4T [[ LM[[ VW'B X N'BR [[ VW!P X!PF [[ VW0 X0,0
 [[ VW* X* [[W-	-<# #r   r   r   na_positionmiddlec                     \         P                  ! \        R V 2R7      ;_uu_ 4        V P                  VR7       RRR4       R#   + '       g   i     R# ; i)zinvalid na_position: r!   r   N)r(   r)   r*   sort_values)index_with_missingr   s   &&r   $test_sort_values_invalid_na_positionr     s>     
z+@)N	O	O&&;&? 
P	O	O	Os   AA	rg   lastc                 ^   \        V \        4      '       d1   VP                  \        P                  P                  R RR7      4       \        P                  ! V P                  4       4      pW P                  4       ,          P                  p\        P                  ! V4      pVR8X  d"   \        P                  ! R.V,          V.4      pM \        P                  ! VR.V,          .4      p\        V 4      ! WPP                  R7      pV P                  VR7      p\         P"                  ! Wv4       R# )z,missing value sorting order not well-definedF)r   strictrg   Nr;   r   )r&   r   r   r(   r   r   r   sumisnanotnar   sortconcatenater=   r<   r   r>   rH   )r   r   r   missing_countnot_na_valssorted_valuesrz   rI   s   &&&     r   test_sort_values_with_missingr    s     $&677KKEe  	
 FF-2245M$%=%=%?@GGKGGK(Mg(>'NOv7M'NO &'=U=UVH+++DF&+r   c                     a R  o\         P                  ! . RO4      p \         P                  ! . RO4      pV P                  V3R lR7      p\        P                  ! W!4       R# )c                     \         ;QJ d#    . R  V P                  R4       4       F  NK  	  5# ! R  V P                  R4       4       4      # )c              3   8   "   T F  p\        V4      x  K  	  R # 5irF   )r   ).0xs   & r   	<genexpr>Ftest_sort_values_natsort_key.<locals>.split_convert.<locals>.<genexpr>  s     2\SVV\s   .)r'   split)ss   &r   split_convert3test_sort_values_natsort_key.<locals>.split_convert  s4    u2QWWS\2u2u2QWWS\222r   c                 .   < \        \        SV 4      4      # rF   )r'   map)r  r  s   &r   <lambda>.test_sort_values_natsort_key.<locals>.<lambda>  s    5]A1F+Gr   )keyN)1.92.01.111.10)r  r  r  r  )re   Indexr   r>   rH   )r   rz   rI   r  s      @r   test_sort_values_natsort_keyr    sG    3 ((1
2Cxx67H__!G_HF&+r   c                    \        V \        4      '       d#   \        '       g   \        P                  ! R 4       T pVP
                  P                  V4      '       g   Q hVP                  4       P                  V4      '       g   Q hVP                  pVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q h\        V \        \        34      '       g   VP                  VP                  8X  g   Q hVP                   VP                  P                   R# )OverflowN)r&   r
   r   r(   r   Tr%   	transposer   shapendimsizer   r	   nbytes)r   r   r   s   &  r   test_ndarray_compat_propertiesr#    s    %%%ddJ
C55<<==?!!#&&&&ZZF99$$$88v{{"""88v{{"""ej*566zzV]]*** JJJJr   c                      \         P                  ! . \        R 7      p RV P                  n        \
        P                  ! V 4      pV^E8  pVP                  \        8X  g   Q hR# )r;   FN)	r   r   objectflags	writeablere   r  r<   r   )arrr   rI   s      r   test_compare_read_only_arrayr)    sF    
((2V
$CCII
((3-C2XF<<4r   c                      \         P                  ! ^.4      p V P                  4       P                  p\	        ^4      p\
        P                  ! WRR7       R# )   Tr~   N)re   r  r   r   r   r>   rH   r   rI   rz   s      r   test_to_frame_column_rangeindexr-    s;    
((A3-C\\^##F!}H&$7r   c                      \         P                  ! ^.4      p V P                  RR7      p\         P                  ! ^.\        P
                  ! ^.^..4      V R7      p\        P                  ! W4       R# )r+  r   )r   r   N)r+  r   )re   r  r   	DataFramer	   from_arraysr>   assert_frame_equalr,  s      r   #test_to_frame_name_tuple_multiindexr2  
  sW    
((A3-C\\v\&F||QC)?)?!qc
)KSVWH&+r   c                  
   \         P                  ! ^^.4      p \         P                  ! . RO4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  V4       RRR4       R#   + '       g   i     R# ; i)r+  zPassing .* to .* is deprecatedr!   N)r+  r   r   )re   r  rf   r>   r   r   join)r   sers     r   test_join_series_deprecatedr6    s]    
((Aq6
C
))I
C		#	#>
 
 	
 
 
 
s   A11B	)#__doc__r   r   rw   numpyr   r(   pandas.compatr   pandas.errorsr   pandas.core.dtypes.commonr   r   pandasre   r   r	   r
   r   pandas._testing_testingr>   r   r   r   r   r   r  r  r#  r)  r-  r2  r6  r   r   r   <module>r?     s    
    (
   Q# Q#h RSx(89@ : T@
 RS&(9:, ; T,4,, 8,r   