
    .i6%              
           d dl Zd dlZd dlZd dlmZ ej                  j                  dg d      d        Z
ej                  j                  dg d      d        Zd Zd	 Zej                  j                  dd d
g      d        Zd Zd Zd Zej                  j                  dd
dgddddddg      d        Zej                  j                  ddej&                  fej&                  ej&                  fej&                  dfg      d        Zej                  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y)    N
align_axis)r      indexcolumnsc                    t        j                  g dddt        j                  gg ddg d      }|j	                         }d|j
                  d<   d	|j
                  d
<   |j                  ||       }| dv rt        j                  ddd      }t         j                  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                  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                  ||       y )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          e/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_compare.pytest_compare_axisr2      sm    
 3RVV*<oV(
B '')CCGGICGGIZZ
Z3F^#--1a(--,,vv.>@Q-RS<<3'"&&"&&#s)CD
 --,,eAq!nvw>O-PQ((FF+,<<266]S"&&MBFFC=2663-H

 &(+    zkeep_shape, keep_equal))TF)FT)TTc           
         t        j                  g dddt        j                  gg ddg d      }|j	                         }d|j
                  d<   d	|j
                  d
<   |j                  || |      }| rqt        j                  d      }t         j                  j                  g dddgg      }|rCt        j                  g dg dddt        j                  t        j                  dd	gg||      }nLt        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||      }nZt        j                  ddd      }t         j                  j                  ddgddgg      }t        j                  g dg dg||      }t        j                  ||       y )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RVV*<oV(
B '')CCGGICGGIZZ
zZJF--"--,,%'89
 ||22#rvvrvvsC8
 H ||#rvvrvvrvvrvv>VVRVVRVVRVVRVVRVVDVVRVVRVVRVVS#>
 H --1a(--,,vv.>@Q-RS<<!#78QX
 &(+r3   c                     t        j                  g dddt        j                  gg ddg d      } | j	                         }d|j
                  d<   | j                  |      }t        j                  d	g      }t         j                  j                  d
gddgg      }t        j                  ddgg||      }t        j                  ||       y )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RVV*<oV(
B '')CCGGIZZ_FhhsmGmm((6(VW4E)FGG||c3ZLIH&(+r3   c                  v   t        j                  g dddt        j                  gg ddg d      } | j	                         }d|j
                  d<   t        j                  |j
                  d	<   | j                  |      }t        j                  d
dg      }t         j                  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                  ||       y )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RVV*<oV(
B '')CCGGICGGIZZ_Fhh1vGmm((66*:VW<M)NOG||
sBFFBFF	#bffbffc266%BCH
 &(+r3   r   c                 :   t        j                  g dddt        j                  gg dd      }t         j                  j                  g dg dg      |_        t         j                  j                  g dg dg      |_        |j                         }d	|j                  d
<   d|j                  d<   |j                  ||       }| dk(  rt         j                  j                  g dg dg dg      }t         j                  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                  j                  ddgddgg      }t         j                  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                  ||       y )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RVV*<oV
B **O=U+VWBJ}}((/9)EFBH
'')CCHHTNCHHTNZZ
Z3FQ--++!<1ST
 --++c3Z&&9I,JKbffRVV}rvvsmbffc]K--++c3Z!Q,@A--++$02
 c266266*RVVRVVS#,FG||WgFH&(+r3   c                      d} t        j                  g dg d      }t        j                  g dg d      }t        j                  t        |       5  |j                  |       d d d        y # 1 sw Y   y xY w)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]    	  ,,y
8C
,,y
8C	z	- C  s   A//A8c                  *   d} t        j                  t        j                  d            }t        j                  t        j                  d            }t        j                  t        |       5  |j                  |       d d d        y # 1 sw Y   y xY w)NrG   )r7   r7   )r   r   rI   )	r   r   r    oneszerosrK   rL   rM   r$   rN   s      r1   test_compare_different_shapesrU      sj    	  ,,rwwv
'C
,,rxx'
(C	z	- C  s   .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      }| j	                  |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                  ||       y )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RVV*<oVC ,,##rvv&#rvv&	
C [[+<[=F88QF#FL||"%"&&1#&2662"$&&S1#%66bff5		
H &(+r3   r[   r   HKr7   )23r   c                 z   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  |j                  || 
       d d d        y # 1 sw Y   y xY w)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RVV*<oVC ,,##rvv&#rvv&	
C 
*4+=*> ?D D
 4 	Cl34 4 4s   B11B:z	val1,val2r   c                    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 r8t        j                  t        d
      5  |j                  |d      }d d d        y |j                  |d      }t        j                  ||       y # 1 sw Y   y xY w)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      s
    +C
))QIW
-C
,,SQx0
1C
,,SQx0
1C||66FF		
H ruu})+%&ruu}]]9,NO 	7[[[6F	7 	7 ST2
fh/		7 	7s   6D==E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	                         }||j
                  d<   t        j                  t        j                  |t         j                  gd      t        j                  |t         j                  gd      t        j                  t        j                  d      }|j                  |d	      }t        j                  ||       y )
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     ,,RYY'7wGsTUhW
XC
((*CCGGFO||99i%7wGIIz255&9I66FF		
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      s       'AB, C,> *,*,Z,",. 1v., /,D,2 	
Aa		4	4, Z"%%"%%,0	08 *	
Aruubee	
BEE1bee	ruubee$	,,r3   