+
    xȇi'9                        ^ RI t^ RIt^ RIHt ^ RIt^ RIHt ^ RIH	t
 ]P                  ! RR.R7      R 4       tR t]P                  P                  R	RR.4      R
 4       t]P                  P                  RR. R;O/R. R<O/3R. R;OR. R=O/R. R;O/3.4      R 4       t]P                  P                  R]P$                  ! R^^.RRR./R.R7      ]P$                  ! RRR.RRR./R.R7      R3]P$                  ! R^^.RRR.RRR./RR.R7      ]P$                  ! RRR.RRR.RRR./RR.R7      R3.4      R 4       tR t]P                  P                  R	RR.4      R 4       t]P                  P                  R	RR.4      R 4       tR  t]P                  P                  RR. R>OR!. R?O/R. R>OR!. R@O/R"3R. R>OR!. R?O/R. RAOR!. RBO/R#3.4      R$ 4       tR% tR& tR' tR( t]P                  P                  R). RCO4      R* 4       tR+ tR, tR- t ]P                  P                  R.RDRE.4      R/ 4       t!R0 t"R1 t#R2 t$R3 t%R4 t&R5 t'R6 t(R7 t)R8 t*]P                  P                  R9]PV                  ]PX                  R.4      R: 4       t-R# )F    N)Pandas4Warning)	DataFrameTF)paramsc                     V P                   # )N)param)requests   &y/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/util/test_assert_frame_equal.pyby_blocks_fixturer
      s    ==    c                b    \         P                  ! W3/ VB  \         P                  ! W3/ VB  R# )a  
Check that two DataFrame equal.

This check is performed commutatively.

Parameters
----------
a : DataFrame
    The first DataFrame to compare.
b : DataFrame
    The second DataFrame to compare.
kwargs : dict
    The arguments passed to `tm.assert_frame_equal`.
N)tmassert_frame_equal)abkwargss   &&,r	   _assert_frame_equal_bothr      s*     !)&)!)&)r   
check_likec           	         \        R . ROR. RO/. R	OR7      p\        R . R
OR. RO/. ROR7      pV '       ga   VP                   R2p\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! W#WP                  R7       RRR4       R# \        W#WP                  R7       R#   + '       g   i     R# ; i)ABindexz.index are differentmatchr   objN                  r   r   c)r    r   r   )r$   r#   r"   r&   r   r   )r   __name__pytestraisesAssertionErrorr   r   r   )r   frame_or_seriesdf1df2msgs   &&   r	   #test_frame_equal_row_order_mismatchr0   #   s    
S)S)4O
LC
S)S)4O
LC ))**>?]]>55!!Z5M5M 65
 	!1I1I	
 655s   *#B00C	zdf1,df2r   r   c                    \        V 4      p \        V4      pVP                   R 2p\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! WVP                  R7       RRR4       R#   + '       g   i     R# ; i)z are differentr   r   N)r   r(   r)   r*   r+   r   r   )r-   r.   r,   r/   s   &&& r	   test_frame_equal_shape_mismatchr3   4   s_     C.C
C.C%%&n
5C	~S	1	1
cO,D,DE 
2	1	1	1s   
#A77B	zdf1,df2,msgr   r&   l1l2r   g      ?g       @zDataFrame\.index are differentr   g @g      ?z*DataFrame\.index level \[0\] are differentc                     R V/pV'       dG   \         P                  ! \        VR7      ;_uu_ 4        \        P                  ! W3/ VB  RRR4       R# \        P                  ! W3/ VB  R#   + '       g   i     R# ; i)check_index_typer   N)r)   r*   r+   r   r   )r-   r.   r/   r7   r   s   &&&& r	   %test_frame_equal_index_dtype_mismatchr8   D   s_    , !"23F]]>55!!#5f5 65 	c1&1 655s   A,,A=	c                 r   R R.p\        VR7      p\        VR7      pRV /pVR ,          P                  R4      VR &   V '       dI   Rp\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! W#3/ VB  RRR4       R# \
        P                  ! W#3/ VB  R#   + '       g   i     R# ; i)col1col2)columnscheck_dtypeint64z)Attributes of DataFrame\..* are differentr   N)r   astyper)   r*   r+   r   r   )r=   r<   r-   r.   r   r/   s   &     r	   test_empty_dtypesr@   c   s    vG
G
$C
G
$C[)Ff+$$W-CK:]]>55!!#5f5 65 	c1&1 655s   *B%%B6	c           	         V'       d   R pMRpVP                    RVP                    RV RV R2p\        R. ROR. RO/. ROR7      p\        R. ROR. RO/. ROR7      p\        P                  ! \        VR	7      ;_uu_ 4        \
        P                  ! WVWP                   R
7       RRR4       R#   + '       g   i     R# ; i)strobjectz\.index are different

zY\.index values are different \(33\.33333 %\)
\[left\]:  Index\(\['a', 'b', 'c'\], dtype='z0'\)
\[right\]: Index\(\['a', 'b', 'd'\], dtype='z-'\)
At positional index 2, first diff: c != dr   r   r   r   r   Nr   r!   r%   )r   r   dr(   r   r)   r*   r+   r   r   r   r,   using_infer_stringdtyper/   r-   r.   s   &&&    r	   test_frame_equal_index_mismatchrI   s   s    ''( )  227 9227 9*	-C S)S)4O
LC
S)S)4O
LC	~S	1	1
1I1I	
 
2	1	1	1   #B//C 	c           	         V'       d   R pMRpVP                    RVP                    RV RV R2p\        R. ROR. RO/. ROR	7      p\        R. ROR. RO/. ROR	7      p\        P                  ! \        VR
7      ;_uu_ 4        \
        P                  ! WVWP                   R7       RRR4       R#   + '       g   i     R# ; i)rB   rC   z\.columns are different

zR\.columns values are different \(50\.0 %\)
\[left\]:  Index\(\['A', 'B'\], dtype='z+'\)
\[right\]: Index\(\['A', 'b'\], dtype='z'\)r   r   r   r   r   r   Nr   r!   r%   rE   rF   s   &&&    r	   !test_frame_equal_columns_mismatchrL      s    ''( )  --2G 4--2G4	;C S)S)4O
LC
S)S)4O
LC	~S	1	1
1I1I	
 
2	1	1	1rJ   c           	      ,   VP                   pV R V R2p\        R. ROR. RO/4      p\        R. ROR. R	O/4      p\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! WEWR7       RRR4       R#   + '       g   i     R# ; i)
z2\.iloc\[:, 1\] \(column name="B"\) are different

z\.iloc\[:, 1\] \(column name="B"\) values are different \(33\.33333 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[4, 5, 6\]
\[right\]: \[4, 5, 7\]r   r   r   	by_blocksr   Nr   r!   )r"   r#      rE   )r
   r,   r   r/   r-   r.   s   &&    r	   test_frame_equal_block_mismatchrQ      s    

"
"Ce  C S)S)4
5C
S)S)4
5C	~S	1	1
c2CM 
2	1	1	1s   BB	Eu   {obj}\.iloc\[:, 1\] \(column name="E"\) are different

{obj}\.iloc\[:, 1\] \(column name="E"\) values are different \(33\.33333 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[é, è, ë\]
\[right\]: \[é, è, e̊\]u   {obj}\.iloc\[:, 0\] \(column name="A"\) are different

{obj}\.iloc\[:, 0\] \(column name="A"\) values are different \(100\.0 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[á, à, ä\]
\[right\]: \[a, a, a\]c           	      0   \        V 4      p \        V4      pVP                  VP                  R 7      p\        P                  ! \
        VR7      ;_uu_ 4        \        P                  ! WW4P                  R7       RRR4       R#   + '       g   i     R# ; i)r2   r   rN   N)r   formatr(   r)   r*   r+   r   r   )r-   r.   r/   r
   r,   s   &&&&&r	   test_frame_equal_unicoderU      sf    < C.C
C.C
**11*
2C	~S	1	1
 17O7O	
 
2	1	1	1s   #BB	c                  8   \        R . R	O/RR7      p V P                  \        4      pRp\        P                  ! WRR7       \
        P                  ! \        VR7      ;_uu_ 4        \        P                  ! WRR7       RRR4       R#   + '       g   i     R# ; i)
r   Int64rH   zAttributes of DataFrame\.iloc\[:, 0\] \(column name="a"\) are different

Attribute "dtype" are different
\[left\]:  Int64
\[right\]: int[32|64]Fr=   r   TNr   )r   r?   intr   r   r)   r*   r+   leftrightr/   s      r	   0test_assert_frame_equal_extension_dtype_mismatchr^      sm    c9%W5DKKE	"  $59	~S	1	1
dt< 
2	1	1	1s   %BB	c                  `   \        R \        P                  ! ^ ^4      ./RR7      p V P                  \        4      pRp\
        P                  ! WRR7       \        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! WRR7       RRR4       R#   + '       g   i     R# ; i)	r   intervalrX   zAttributes of DataFrame\.iloc\[:, 0\] \(column name="a"\) are different

Attribute "dtype" are different
\[left\]:  interval\[int64, right\]
\[right\]: objectFrY   r   TN)
r   pdIntervalr?   rC   r   r   r)   r*   r+   r[   s      r	   /test_assert_frame_equal_interval_dtype_mismatchrc      s{    cBKK1-./zBDKKE	  $59	~S	1	1
dt< 
2	1	1	1s   9BB-	c                  z    \        R . RO/RR7      p \        R . RO/RR7      p\        P                  ! WRR7       R# )r   rW   rX   Int32FrY   Nr   r   r   r   r\   r]   s     r	   7test_assert_frame_equal_ignore_extension_dtype_mismatchrh      4    c9%W5DsI&g6E$59r   c                  z    \        R . RO/RR7      p \        R . RO/RR7      p\        P                  ! WRR7       R# )r   rW   rX   r>   FrY   Nr   rf   rg   s     r	   Ctest_assert_frame_equal_ignore_extension_dtype_mismatch_cross_classrk     ri   r   rH   c                 n    \        R . /V R7      p\        R . /4      p\        P                  ! WRR7       R# )r   rX   FrY   Nrf   )rH   r-   r.   s   &  r	   4test_assert_frame_equal_datetime_like_dtype_mismatchrm   	  s2     S"IU
+C
S"I
C#6r   c                  `   \        4       p \        4       P                  R R7      p\        P                  ! W 4       \        P                  ! W4       \        P                  ! WR R7       \        P                  ! WR R7       \        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W4       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W4       RRR4       R#   + '       g   i     LU; i  + '       g   i     R# ; i)F)allows_duplicate_labelscheck_flagsz<Flagsr   N)r   	set_flagsr   r   r)   r*   r+   rg   s     r	   test_allows_duplicate_labelsrs     s    ;DK!!%!@E$%%'$59%59	~X	6	6
d* 
7 
~X	6	6
d* 
7	6 
7	6 
7	6	6s   %D	(D	D	D-	c                  `    \        . RO.. RO. ROR7      p \        P                  ! W RR7       R# )r   )r<   r   Tr   N)r   r   r   )foobar*   )r   testr   rf   )dfs    r	   +test_assert_frame_equal_columns_mixed_dtyper{   !  s#    	I;(:.	QB"T2r   c                 N    V ! ^^.VR7      p\         P                  ! W"RR7       R# )r   rX   Tcheck_exactNr   assert_equal)r,   any_numeric_ea_dtyper   s   && r	    test_frame_equal_extension_dtyper   '  s!    
1a&(<
=COOC$/r   indexerc                     VR 3pV ! ^^.W2^ ,          ,          R7      pV ! ^^.W2^,          ,          R7      p\         P                  ! WERRR7       R# )r>   rX   TF)r~   r=   Nr   )r,   r   r   dtypesobj1obj2s   &&&   r	   test_frame_equal_mixed_dtypesr   -  sJ    "G,FAq6
);<DAq6
);<DOODDeDr   c                  B   \        \        P                  ! . R R7      R7      p \        \        P                  ! ^ ^ ^R7      R7      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! WRR7       RRR4       R#   + '       g   i     R# ; i)	rC   rX   r   )startstopstepzDataFrame.index are differentr   Tru   N)	r   ra   Index
RangeIndexr)   r*   r+   r   r   r-   r.   s     r	   4test_assert_frame_equal_check_like_different_indexesr   5  s`    
"((2X6
7C
"--aaa@
AC	~-L	M	M
c48 
N	M	M	Ms   *BB	c                  p   \        ^^.^^..4      p RV P                  n        \        ^^.^^..4      pRVP                  n        \        P                  ! WRR7       \
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! WRR7       RRR4       R#   + '       g   i     R# ; i)r   FTrp   ro   r   N)r   flagsro   r   r   r)   r*   r+   rg   s     r	   0test_assert_frame_equal_checking_allow_dups_flagr   =  s    q!fq!f%&D).DJJ&1v1v&'E*.EKK'$59	~-F	G	G
dt< 
H	G	G	Gs   B$$B5	c            
         \        ^.^.^..\        P                  P                  \        P                  ! . RO4      \        P                  ! . RO4      .4      R7      p \        ^.^.^..\        P                  P                  \        P                  ! . RO4      \        P                  ! . RO4      .4      R7      p\
        P                  ! WRR7       R# )r   r   Tru   Nr%   r'   )r   ra   
MultiIndexfrom_arraysCategoricalr   r   rg   s     r	   3test_assert_frame_equal_check_like_categorical_midxr   J  s    
qcA3mm''//
D 
qcA3mm''//
E $$7r   c                  h   \        R \        P                  ! \        P                  ^.RR7      /4      p \        R \        P                  ! ^^.RR7      /4      pRp\        P
                  ! \        VR7      ;_uu_ 4        \        P                  ! W4       RRR4       R#   + '       g   i     R# ; i)r   rW   rX   zGDataFrame.iloc\[:, 0\] \(column name="a"\) NA mask values are differentr   N	r   ra   SeriesNAr)   r*   r+   r   r   r-   r.   r/   s      r	   >test_assert_frame_equal_ea_column_definition_in_exception_maskr   a  su    
S"))RUUAJg>?
@C
S"))QF':;
<C
TC	~S	1	1
c' 
2	1	1	1s   ?B  B1	c                  4   \        R \        P                  ! \        P                  ^.RR7      /4      p \        R \        P                  ! \        P                  ^.RR7      /4      pRp\        P
                  ! \        VR7      ;_uu_ 4        \        P                  ! W4       RRR4       \        P
                  ! \        VR7      ;_uu_ 4        \        P                  ! WRR7       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)r   rW   rX   ?DataFrame.iloc\[:, 0\] \(column name="a"\) values are differentr   NTr}   r   r   s      r	   9test_assert_frame_equal_ea_column_definition_in_exceptionr   k  s    
S"))RUUAJg>?
@C
S"))RUUAJg>?
@C
LC	~S	1	1
c' 
2 
~S	1	1
cD9 
2	1 
2	1 
2	1	1s   C3D3D	D	c                     \        R \        P                  ! R4      \        P                  ! R4      ./4      p \        R \        P                  ! R4      \        P                  ! R4      ./4      pRp\        P                  ! \
        VR7      ;_uu_ 4        \        P                  ! W4       RRR4       R#   + '       g   i     R# ; i)r   z
2019-12-31z
2020-12-31r   r   N)r   ra   	Timestampr)   r*   r+   r   r   r   s      r	   !test_assert_frame_equal_ts_columnr   x  s    
S2<<5r||L7QRS
TC
S2<<5r||L7QRS
TC
LC	~S	1	1
c' 
2	1	1	1s   B66C	c                  ~    \        R 0 Rm0 Rm./4      p \        R 0 Rm0 Rm./4      p\        P                  ! W4       R# )
set_columnN   r   r   r       r"   r#   r$   rf   r   s     r	   test_assert_frame_equal_setr     s8    
\Iy#9:
;C
\Iy#9:
;C##r   c                     \        R 0 Rm0 Rm./4      p \        R 0 Rm0 Rm./4      pRp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! W4       RRR4       R#   + '       g   i     R# ; i)r   zHDataFrame.iloc\[:, 0\] \(column name="set_column"\) values are differentr   Nr   r   >   r"   r#   rP   )r   r)   r*   r+   r   r   r   s      r	   $test_assert_frame_equal_set_mismatchr     s]    
\Iy#9:
;C
\Iy#9:
;C
UC	~S	1	1
c' 
2	1	1	1s   A..A?	c                  $   \        R ^./4      p Rp\        P                  ! \        VR7      ;_uu_ 4        \        P                  ! W RR7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \        P                  ! W RR7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! V R ,          V R ,          RR7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! V R ,          V R ,          RR7       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   z5the 'check_datetimelike_compat' keyword is deprecatedr   T)check_datetimelike_compatNF)r   r   assert_produces_warningr   r   assert_series_equal)rz   r/   s     r	   #test_datetimelike_compat_deprecatedr     s    	C!:	B
AC		#	#N#	>	>
bE 
?		#	#N#	>	>
bF 
? 
	#	#N#	>	>
r#w34P 
?		#	#N#	>	>
r#w35Q 
?	> 
?	>	>	> 
?	>	>	>	>s/   E:E?(E+(E>E	E(	+E;	>F	na_valuec                     \        R ^V ./4      p\        RV./4      p\        RV./4      p\        P                  ! W#4       R# )r   rz   Nrf   )r   innerr-   r.   s   &   r	   $test_assert_frame_equal_nested_df_nar     sE     sQM*+E
TE7O
$C
TE7O
$C##r   r   )r   r   r    r"   r!   )   á   à   ä)   é   è   ë)r   r   u   e̊)r   r   r   )er   r   )ztimedelta64[ns]zdatetime64[ns, UTC]z	Period[D])r   r   )r   r   ).numpynpr)   pandas.errorsr   pandasra   r   pandas._testing_testingr   fixturer
   r   markparametrizer0   r3   from_recordsr8   r@   rI   rL   rQ   rU   r^   rc   rh   rk   rm   rs   r{   r   r   r   r   r   r   r   r   r   r   r   r   nanr    r   r	   <module>r      sV     (    e}% &*& e}5
 6
  
y	C./
y#y	)C+;<FF  ""C!QtTl#CC5Q""C#sS4,#GPSuU-	
 ""q!fcC:sT4LA#s ""sCj#Sz3tEcSVZ <	
*2+*22  e}5
 6
* e}5
 6
(N   $c+=>$c+>?"		
 $c+=>/38		
2
32
=&=&:: D77+30 VV$45E 6E9
=8.(
:($(R  beeRVVT%:;$ <$r   