
    Pi'9                        d dl Zd dlZd dlmZ d dlZd dlmZ d dlm	Z
  ej        ddg          d             Zd Zej                            d	ddg          d
             Zej                            ddg didg difg dg dddg difg          d             Zej                            d ej        ddgddgddg           ej        ddgddgddg          df ej        ddgddgddgddd g           ej        ddgddgddgddd g          d!fg          d"             Zd# Zej                            d	ddg          d$             Zej                            d	ddg          d%             Zd& Zej                            dg d'g d(d)g d'g d*d)d+fg d'g d(d)g d,g d-d)d.fg          d/             Zd0 Zd1 Zd2 Zd3 Zej                            d4g d5          d6             Zd7 Zd8 Zd9 Z ej                            d:d;d<g          d=             Z!d> Z"d? Z#d@ Z$dA Z%dB Z&dC Z'dD Z(dE Z)dF Z*ej                            dGej+        ej,        dg          dH             Z-dS )I    N)Pandas4Warning)	DataFrameTF)paramsc                     | j         S )N)param)requests    }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/util/test_assert_frame_equal.pyby_blocks_fixturer
      s
    =    c                 R    t          j        | |fi | t          j        || fi | dS )a4  
    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@     !Q))&)))!Q))&)))))r   
check_likec                 \   t          g dg ddg d          }t          g dg ddg d          }| s]|j         d	}t          j        t          |
          5  t          j        ||| |j                   d d d            d S # 1 swxY w Y   d S t          ||| |j                   d S )N                  ABr   r   cindex)r   r   r   )r   r   r   r!   r   r   z.index are differentmatchr   obj)r   __name__pytestraisesAssertionErrorr   r   r   )r   frame_or_seriesdf1df2msgs        r	   #test_frame_equal_row_order_mismatchr1   #   s5   
))))))44OOO
L
L
LC
))))))44OOO
L
L
LC 	
 )???]>555 	 	!SZ_5M   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 	!1I	
 	
 	
 	
 	
 	
s   BBBzdf1,df2r   r   )r   r   r   r   r   r   c                     t          |           } t          |          }|j         d}t          j        t          |          5  t          j        | ||j                   d d d            d S # 1 swxY w Y   d S )Nz are differentr%   r(   )r   r)   r*   r+   r,   r   r   )r.   r/   r-   r0   s       r	   test_frame_equal_shape_mismatchr4   4   s     C..C
C..C%
5
5
5C	~S	1	1	1 F F
c3O,DEEEEF F F F F F F F F F F F F F F F F Fs   A..A25A2zdf1,df2,msgr   r   l1l2)r   r!   r   r"   g      ?g       @zDataFrame\.index are differentg @g      ?r    r   z*DataFrame\.index level \[0\] are differentc                     d|i}|rIt          j        t          |          5  t          j        | |fi | d d d            d S # 1 swxY w Y   d S t          j        | |fi | d S )Ncheck_index_typer%   )r*   r+   r,   r   r   )r.   r/   r0   r8   r   s        r	   %test_frame_equal_index_dtype_mismatchr9   D   s    , !"23F 2]>555 	6 	6!#s55f555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	c311&11111s   AA
Ac                 R   ddg}t          |          }t          |          }d| i}|d                             d          |d<   | rKd}t          j        t          |          5  t          j        ||fi | d d d            d S # 1 swxY w Y   d S t          j        ||fi | d S )Ncol1col2)columnscheck_dtypeint64z)Attributes of DataFrame\..* are differentr%   )r   astyper*   r+   r,   r   r   )r>   r=   r.   r/   r   r0   s         r	   test_empty_dtypesrA   c   s   vG
G
$
$
$C
G
$
$
$C[)Ff+$$W--CK 2:]>555 	6 	6!#s55f555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	c311&11111s   &BBBc                 N   |rd}nd}|j          d|j          d| d| d}t          g dg dd	g d
          }t          g dg dd	g d          }t          j        t          |          5  t          j        ||| |j                    d d d            d S # 1 swxY w Y   d S )N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"   )r   r   dr%   r'   r)   r   r*   r+   r,   r   r   r   r-   using_infer_stringdtyper0   r.   r/   s          r	   test_frame_equal_index_mismatchrJ   s   sH    ' - -- - 38- - 38	- - -C ))))))44OOO
L
L
LC
))))))44OOO
L
L
LC	~S	1	1	1 
 

1I	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
   /BB!Bc                 N   |rd}nd}|j          d|j          d| d| d}t          g dg dd	g d
          }t          g dg ddg d
          }t          j        t          |          5  t          j        ||| |j                    d d d            d S # 1 swxY w Y   d S )NrC   rD   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   r   r%   r'   rF   rG   s          r	   !test_frame_equal_columns_mismatchrM      sH    ' ; ;; ; .3; ; .3	; ; ;C ))))))44OOO
L
L
LC
))))))44OOO
L
L
LC	~S	1	1	1 
 

1I	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rK   c                    |j         }| d| d}t          g dg dd          }t          g dg dd          }t          j        t          |          5  t          j        ||| |           d d d            d S # 1 swxY w Y   d S )	Nz2\.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   )r   r      r%   	by_blocksr(   rF   )r
   r-   r(   r0   r.   r/   s         r	   test_frame_equal_block_mismatchrR      s   

"C    C ))))))44
5
5C
))))))44
5
5C	~S	1	1	1 N N
c32CMMMMN N N N N N N N N N N N N N N N N Ns   A==BB)   á   à   ä)   é   è   ë)r   E)rV   rW   u   e̊u   {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̊\])r   r   r   )erZ   rZ   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                    t          |           } t          |          }|                    |j                  }t          j        t
          |          5  t          j        | |||j                   d d d            d S # 1 swxY w Y   d S )Nr3   r%   rP   )r   formatr)   r*   r+   r,   r   r   )r.   r/   r0   r
   r-   s        r	   test_frame_equal_unicoder]      s    < C..C
C..C
**1*
2
2C	~S	1	1	1 
 

 17O	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   B  BBc                  ,   t          dg did          } |                     t                    }d}t          j        | |d           t          j        t          |          5  t          j        | |d	           d d d            d S # 1 swxY w Y   d S )
Nr   r   Int64rI   zAttributes of DataFrame\.iloc\[:, 0\] \(column name="a"\) are different

Attribute "dtype" are different
\[left\]:  Int64
\[right\]: int[32|64]Fr>   r%   T)r   r@   intr   r   r*   r+   r,   leftrightr0   s      r	   0test_assert_frame_equal_extension_dtype_mismatchrf      s    c999%W555DKKE	"  $59999	~S	1	1	1 = =
dEt<<<<= = = = = = = = = = = = = = = = = =s   $B		BBc                  P   t          dt          j        dd          gid          } |                     t                    }d}t          j        | |d           t          j        t          |	          5  t          j        | |d
           d d d            d S # 1 swxY w Y   d S )Nr   r   r   intervalr`   zAttributes of DataFrame\.iloc\[:, 0\] \(column name="a"\) are different

Attribute "dtype" are different
\[left\]:  interval\[int64, right\]
\[right\]: objectFra   r%   T)
r   pdIntervalr@   rD   r   r   r*   r+   r,   rc   s      r	   /test_assert_frame_equal_interval_dtype_mismatchrk      s    cBK1--./zBBBDKKE	  $59999	~S	1	1	1 = =
dEt<<<<= = = = = = = = = = = = = = = = = =s   6BB"Bc                      t          dg did          } t          dg did          }t          j        | |d           d S )Nr   r   r_   r`   Int32Fra   r   r   r   rd   re   s     r	   7test_assert_frame_equal_ignore_extension_dtype_mismatchrp      V    c999%W555DsIII&g666E$5999999r   c                      t          dg did          } t          dg did          }t          j        | |d           d S )Nr   r   r_   r`   r?   Fra   rn   ro   s     r	   Ctest_assert_frame_equal_ignore_extension_dtype_mismatch_cross_classrs     rq   r   rI   )ztimedelta64[ns]zdatetime64[ns, UTC]z	Period[D]c                 |    t          dg i|           }t          dg i          }t          j        ||d           d S )Nr   r`   Fra   rn   )rI   r.   r/   s      r	   4test_assert_frame_equal_datetime_like_dtype_mismatchru   	  sI     S"IU
+
+
+C
S"I

C#s666666r   c                  8   t                      } t                                          d          }t          j        | |            t          j        ||           t          j        | |d           t          j        || d           t	          j        t          d          5  t          j        | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          j        | |           d d d            d S # 1 swxY w Y   d S )NF)allows_duplicate_labelscheck_flagsz<Flagsr%   )r   	set_flagsr   r   r*   r+   r,   ro   s     r	   test_allows_duplicate_labelsr{     s   ;;DKK!!%!@@E$%%%%'''$59999%59999	~X	6	6	6 + +
dE***+ + + + + + + + + + + + + + + 
~X	6	6	6 + +
dE***+ + + + + + + + + + + + + + + + + +s$   $CC
C
,DDDc                  f    t          g dgg dg d          } t          j        | | d           d S )N)r   r   r   )foobar*   )r   testr   )r=   r#   Tr   rn   )dfs    r	   +test_assert_frame_equal_columns_mixed_dtyper   !  sE    	III;(:(:(:...	Q	Q	QB"bT222222r   c                 R     | ddg|          }t          j        ||d           d S )Nr   r   r`   Tcheck_exactr   assert_equal)r-   any_numeric_ea_dtyper(   s      r	    test_frame_equal_extension_dtyper   '  s8    
/1a&(<
=
=
=COC$//////r   indexer)r   r   )r   r   c                     |df} | ddg||d                            } | ddg||d                            }t          j        ||dd           d S )	Nr?   r   r   r   r`   TF)r   r>   r   )r-   r   r   dtypesobj1obj2s         r	   test_frame_equal_mixed_dtypesr   -  sm    "G,F?Aq6
);<<<D?Aq6
);<<<DOD$DeDDDDDDr   c                  .   t          t          j        g d                    } t          t          j        ddd                    }t	          j        t          d          5  t          j        | |d	
           d d d            d S # 1 swxY w Y   d S )NrD   r`   r"   r   r   )startstopstepzDataFrame.index are differentr%   Tr   )	r   ri   Index
RangeIndexr*   r+   r,   r   r   r.   r/   s     r	   4test_assert_frame_equal_check_like_different_indexesr   5  s    
"(2X666
7
7
7C
"-aaa@@@
A
A
AC	~-L	M	M	M 9 9
c3488889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s   %B

BBc                  N   t          ddgddgg          } d| j        _        t          ddgddgg          }d|j        _        t          j        | |d           t          j        t          d	          5  t          j        | |d           d d d            d S # 1 swxY w Y   d S )
Nr   r   r   r   FTrx   rw   r%   )r   flagsrw   r   r   r*   r+   r,   ro   s     r	   0test_assert_frame_equal_checking_allow_dups_flagr   =  s    q!fq!f%&&D).DJ&1v1v&''E*.EK'$59999	~-F	G	G	G = =
dEt<<<<= = = = = = = = = = = = = = = = = =s   5BB!Bc            
         t          dgdgdggt          j                            t          j        g d          t          j        g d          g                    } t          dgdgdggt          j                            t          j        g d          t          j        g d          g                    }t          j        | |d           d S )	Nr   r   r   r    r"   r$   Tr   )r   ri   
MultiIndexfrom_arraysCategoricalr   r   ro   s     r	   3test_assert_frame_equal_check_like_categorical_midxr   J  s    
qcA3m''////
 
  D 
qcA3m''////
 
  E $$777777r   c                  L   t          dt          j        t          j        dgd          i          } t          dt          j        ddgd          i          }d}t	          j        t          |          5  t          j        | |           d d d            d S # 1 swxY w Y   d S )Nr   r   r_   r`   zGDataFrame.iloc\[:, 0\] \(column name="a"\) NA mask values are differentr%   	r   ri   SeriesNAr*   r+   r,   r   r   r.   r/   r0   s      r	   >test_assert_frame_equal_ea_column_definition_in_exception_maskr   a  s    
S")RUAJg>>>?
@
@C
S")QF':::;
<
<C
TC	~S	1	1	1 ( (
c3'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   6BB Bc                     t          dt          j        t          j        dgd          i          } t          dt          j        t          j        dgd          i          }d}t	          j        t          |          5  t          j        | |           d d d            n# 1 swxY w Y   t	          j        t          |          5  t          j        | |d	           d d d            d S # 1 swxY w Y   d S )
Nr   r   r_   r`   r   ?DataFrame.iloc\[:, 0\] \(column name="a"\) values are differentr%   Tr   r   r   s      r	   9test_assert_frame_equal_ea_column_definition_in_exceptionr   k  se   
S")RUAJg>>>?
@
@C
S")RUAJg>>>?
@
@C
LC	~S	1	1	1 ( (
c3'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 
~S	1	1	1 : :
c3D9999: : : : : : : : : : : : : : : : : :s$    B""B&)B&C--C14C1c                  x   t          dt          j        d          t          j        d          gi          } t          dt          j        d          t          j        d          gi          }d}t          j        t
          |          5  t          j        | |           d d d            d S # 1 swxY w Y   d S )Nr   z
2019-12-31z
2020-12-31r   r%   )r   ri   	Timestampr*   r+   r,   r   r   r   s      r	   !test_assert_frame_equal_ts_columnr   x  s    
S2<55r|L7Q7QRS
T
TC
S2<55r|L7Q7QRS
T
TC
LC	~S	1	1	1 ( (
c3'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   B//B36B3c                      t          dh dh dgi          } t          dh dh dgi          }t          j        | |           d S )N
set_column   r   r   r      r   r   r   rn   r   s     r	   test_assert_frame_equal_setr     sY    
\IIIyyy#9:
;
;C
\IIIyyy#9:
;
;C#s#####r   c                      t          dh dh dgi          } t          dh dh dgi          }d}t          j        t          |          5  t	          j        | |           d d d            d S # 1 swxY w Y   d S )Nr   r   r   >   r   r   rO   zHDataFrame.iloc\[:, 0\] \(column name="set_column"\) values are differentr%   )r   r*   r+   r,   r   r   r   s      r	   $test_assert_frame_equal_set_mismatchr     s    
\IIIyyy#9:
;
;C
\IIIyyy#9:
;
;C
UC	~S	1	1	1 ( (
c3'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   A//A36A3c                     t          ddgi          } d}t          j        t          |          5  t          j        | | d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        | | d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        | d         | d         d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        | d         | d         d           d d d            d S # 1 swxY w Y   d S )Nr   r   z5the 'check_datetimelike_compat' keyword is deprecatedr%   T)check_datetimelike_compatF)r   r   assert_produces_warningr   r   assert_series_equal)r   r0   s     r	   #test_datetimelike_compat_deprecatedr     s   	C!:		B
AC		#N#	>	>	> F F
b"EEEEF F F F F F F F F F F F F F F		#N#	>	>	> G G
b"FFFFG G G G G G G G G G G G G G G 
	#N#	>	>	> Q Q
r#w34PPPPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q		#N#	>	>	> R R
r#w35QQQQR R R R R R R R R R R R R R R R R RsG   AAA:BB"%B"$C44C8;C8$EEEna_valuec                     t          dd| gi          }t          d|gi          }t          d|gi          }t          j        ||           d S )Nr   r   r   rn   )r   innerr.   r/   s       r	   $test_assert_frame_equal_nested_df_nar     sY     sQM*++E
TE7O
$
$C
TE7O
$
$C#s#####r   ).numpynpr*   pandas.errorsr   pandasri   r   pandas._testing_testingr   fixturer
   r   markparametrizer1   r4   from_recordsr9   rA   rJ   rM   rR   r]   rf   rk   rp   rs   ru   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   nanr    r   r	   <module>r      s&        ( ( ( ( ( (                 e}%%%  &%* * *& e}55
 
 65
  
yyy	C./yyyyy	)	)C+;< F F F  #I"!QtTl#C#CC5QQQ"I"#s4,#G#GPSuUUU-	
 #I"!fC:T4LAA#s   #I"CjSztEEcSVZ   <	
 *2 2+ *22 2 2  e}55
 
 65
* e}55
 
 65
(N N N   %$$+=+=+=>>$$$+>+>+>??"		
 %$$+=+=+=>>!//88		
 2
 
3 2
= = =&= = =&: : :: : : DDD 7 7 7+ + +3 3 30 0 0 VV$455E E 65E9 9 9
= 
= 
=8 8 8.( ( (
: 
: 
:( ( ($ $ $( ( (R R R  beRVT%:;;$ $ <;$ $ $r   