
    Pi6%              
          d dl Zd dlZd dlZd dlmZ ej        	                    dg d          d             Z
ej        	                    dg d          d             Zd Zd	 Zej        	                    dd d
g          d             Zd Zd Zd Zej        	                    dd
dgddddddg          d             Zej        	                    ddej        fej        ej        fej        dfg          d             Zej        	                    ddddej        ej        fdej        dej        fej        ej        ej        ej        fg          d             ZdS )    N
align_axis)r      indexcolumnsc                 @   t          j        g dddt          j        gg ddg d          }|                                }d|j        d<   d	|j        d
<   |                    ||           }| dv rt          j        ddd          }t           j        	                    ddgddgg          }t          j        ddt          j        t          j        gt          j        t          j        dd	gg||          }nt           j        	                    t          ddd          ddgg          }t          j        ddg          }t          j        dt          j        gdt          j        gt          j        dgt          j        d	gg||          }t          j        ||           d S )Nabc      ?       @r   r         @col1col2col3r   r   r   r         @   r   r   )r   r   r      r   r   r   selfotherr	   r   r   r   )pd	DataFramenpnancopyloccompare
RangeIndex
MultiIndexfrom_productrangeIndextmassert_frame_equal)r   dfdf2resultindicesr   expecteds          {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/methods/test_compare.pytest_compare_axisr2      s    
 3RV*<oooVV(((
 
 
B ''))CCGICGIZZ
Z33F^##-1a((-,,vv.>@Q-RSS<3'"&"&#s)CD
 
 
 -,,eAq!nnvw>O-PQQ(FF+,,<26]S"&MBFC=263-H
 
 

 &(+++++    zkeep_shape, keep_equal))TF)FT)TTc           
         t          j        g dddt          j        gg ddg d          }|                                }d|j        d<   d	|j        d
<   |                    || |          }| r.t          j        d          }t           j        	                    g dddgg          }|r:t          j        g dg dddt          j        t          j        dd	gg||          }nt          j        ddt          j        t          j        t          j        t          j        gt          j        t          j        t          j        t          j        t          j        t          j        gt          j        t          j        t          j        t          j        dd	gg||          }nXt          j        ddd          }t           j        	                    ddgddgg          }t          j        g dg dg||          }t          j        ||           d S )Nr   r   r   r   r   r   r   r   r   r   )
keep_shape
keep_equal   r   r   )r	   r   r   r   r   r   )r
   r
   r   r   r   r   r   r   r	   r   r   r   r   r   )r	   r   r   r   )r   r   r   r   )r   r   r    r!   r"   r#   r$   r%   r&   r'   r*   r+   )r5   r6   r,   r-   r.   r/   r   r0   s           r1   test_compare_various_formatsr8   (   s    
 3RV*<oooVV(((
 
 
B ''))CCGICGIZZ
zZJJF 
-""-,,%%%'89
 
  	|222222#rvrvsC8
   HH |#rvrvrvrv>VRVRVRVRVRVDVRVRVRVS#>
   HH -1a((-,,vv.>@Q-RSS<!!!#7#7#78QX
 
 
 &(+++++r3   c                     t          j        g dddt          j        gg ddg d          } |                                 }d|j        d<   |                     |          }t          j        d	g          }t           j        	                    d
gddgg          }t          j        ddgg||          }t          j        ||           d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r    r!   r"   r#   r$   r)   r&   r'   r*   r+   r,   r-   r.   r/   r   r0   s         r1   test_compare_with_equal_nullsr<   ^   s     
 3RV*<oooVV(((
 
 
B ''))CCGIZZ__FhsmmGm((6(VW4E)FGGG|c3ZLIIIH&(+++++r3   c                  4   t          j        g dddt          j        gg ddg d          } |                                 }d|j        d<   t          j        |j        d	<   |                     |          }t          j        d
dg          }t           j        	                    ddgddgg          }t          j        ddt          j        t          j        gt          j        t          j        dt          j        gg||          }t          j        ||           d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r:   r;   s         r1   !test_compare_with_non_equal_nullsr>   o   s    
 3RV*<oooVV(((
 
 
B ''))CCGICGIZZ__Fh1vGm((66*:VW<M)NOOG|
sBFBF	#bfbfc26%BC  H
 &(+++++r3   r   c                    t          j        g dddt          j        gg dd          }t           j                            g dg dg          |_        t           j                            g dg dg          |_        |                                }d	|j	        d
<   d|j	        d<   |
                    ||           }| dk    rt           j                            g dg dg dg          }t           j                            ddgddgg          }dt          j        gd	t          j        gt          j        dgt          j        dgg}nt           j                            ddgddgg          }t           j                            g dg dg dg          }dd	t          j        t          j        gt          j        t          j        ddgg}t          j        |||          }t          j        ||           d S )Nr   r   r   r   r   )r	   r	   r
   )xr@   y)r   r   r   r   )r   r   r   )r   r   r   r   )r@   r@   rA   rA   )r   r   r   r   )r   r   r   r   r	   r
   r   r   r   r@   rA   r   )r	   r	   r
   r
   )r   r   r   r   )datar   r   )r   r   r    r!   r&   from_arraysr   r   r"   ilocr$   r*   r+   )r   r,   r-   r.   r/   r   rB   r0   s           r1   test_compare_multi_indexrE      s   	 3RV*<oooVV
 
B **OOO=U=U=U+VWWBJ}((///999)EFFBH
''))CCHTNCHTNZZ
Z33FQ-++!!!<<<1S1S1ST
 
 -++c3Z&&9I,JKKbfRV}rvsmbfc]K-++c3Z!Q,@AA-++$$$000222
 
 c2626*RVRVS#,FG|WgFFFH&(+++++r3   c                     d} t          j        g dg d          }t          j        g dg d          }t          j        t          |           5  |                    |           d d d            d S # 1 swxY w Y   d S )NQCan only compare identically-labeled \(both index and columns\) DataFrame objects)r   r   r7   r   )r   )r	   r
   dmatch)r   r   pytestraises
ValueErrorr$   msgdf1r-   s      r1   test_compare_different_indicesrQ      s    	  ,yyy
8
8
8C
,yyy
8
8
8C	z	-	-	-  C                 s   A55A9<A9c                  4   d} t          j        t          j        d                    }t          j        t          j        d                    }t          j        t          |           5  |                    |           d d d            d S # 1 swxY w Y   d S )NrG   )r7   r7   )r   r   rI   )	r   r   r    oneszerosrK   rL   rM   r$   rN   s      r1   test_compare_different_shapesrU      s    	  ,rwv
'
'C
,rx''
(
(C	z	-	-	-  C                 s   *BBBc                     t          j        g dddt          j        gg dd          } t          j        g dddt          j        gddt          j        gd          }|                     |d          }t          j        d	d
g          |_        t          j        dt          j        ddt          j        dt          j        ddt          j        t          j        dd          }t          j        ||           d S )Nr   r   r   r   r   r   r
   r   )leftrightresult_namesr   r   r	   )r   r   r   r   ))r   rX   )r   rY   )r   rX   )r   rY   )	r   r   r    r!   r$   r)   r   r*   r+   )rP   r-   r.   r0   s       r1   test_compare_result_namesr\      s   
, 3RV*<oooVV C ,#OO#rv&#rv&	
 	
 C [[+<[==F8QF##FL|"%"&11#&2622"$&S11#%6bf55		
 	
 H &(+++++r3   r[   r   HKr7   )23r   c                 x   t          j        g dddt          j        gg dd          }t          j        g dddt          j        gddt          j        gd          }t	          j        t          dt          |            d	          5  |                    || 
           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   rW   zPassing 'result_names' as a z= is not supported. Provide 'result_names' as a tuple instead.rI   rZ   )	r   r   r    r!   rK   rL   	TypeErrortyper$   )r[   rP   r-   s      r1   test_invalid_input_result_namesrc      s)    , 3RV*<oooVV C ,#OO#rv&#rv&	
 	
 C 
D4+=+= D D D
 
 
 4 4 	Cl3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   
B//B36B3z	val1,val2r   c                 j   d| g}t          j        d|gd          }t          j        |ddgd          }t          j        |ddgd          }t          j        ||t          j        t          j        d          }| t           j        u r"|t           j        u rt          j        |j        d	<   | t           j        u rMt          j        t          d
          5  |
                    |d          }d d d            d S # 1 swxY w Y   d S |
                    |d          }t          j        ||           d S )Nr   r   Int64dtyper   r   r	   r
   r	   r   )r	   r   )r
   r   )r
   r   )r   rj   z boolean value of NA is ambiguousrI   Tr5   )r   Seriesr   r    r!   NAr#   rK   rL   ra   r$   r*   r+   )val1val2arrserrP   r-   r0   r.   s           r1   test_compare_ea_and_np_dtyperr      sv    +C
)QIW
-
-
-C
,SQx00
1
1C
,SQx00
1
1C|6F		
 	
 H ru}})+%&ru}}]9,NOOO 	7 	7[[[66F	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 ST22
fh/////s   C::C>C>z$df1_val,df2_val,diff_self,diff_other)r   r7   r   r7   c                    t          j        t          j        | t           j        gd          ddgd          }|                                }||j        d<   t          j        t          j        |t           j        gd          t          j        |t           j        gd          t          j        t          j        d          }|                    |d	          }t          j
        ||           d S )
Nre   rf   r   r   rh   )r   r	   ri   Trk   )r   r   rl   rm   r"   r#   r    r!   r$   r*   r+   )df1_valdf2_val	diff_self
diff_otherrP   r-   r0   r.   s           r1   !test_compare_nullable_int64_dtyperx     s     ,RY'7wGGGsTUhWW
X
XC
((**CCGFO|9i%7wGGGIz25&9III6F		
 	
 H [[[..F&(+++++r3   )numpyr    rK   pandasr   pandas._testing_testingr*   markparametrizer2   r8   r<   r>   rE   rQ   rU   r\   rc   rm   rr   rx    r3   r1   <module>r      sL                  'A'A'ABB, , CB,>    *, *, *,Z, , ,", , ,. 1v.., , /.,D    , , ,2 	
Aa		 	4 4	 	4, Z"%"%, 0 0	 08 *	
Arube	
BE1be	rube$	 , , , , ,r3   