
    .i                         d dl Zd dlZd dlZd dlmZ d Zej                  j                  dg d      d        Zd Zd Zd Zd	 Zd
 Zd Zy)    Nc                    t        j                  g d      }t        j                  g d      }|j                  ||       }| dv rct        j                  ddg      }t        j                  ddg      }t        j                  d	d
gddgg||      }t        j                  ||       y t         j                  j                  ddgddgg      }t        j                  g d|      }t        j                  ||       y )Nabcxr   z
align_axis)   columnsr      selfotherr   r	   r   r
   indexr   r   r	   r   r
   r   )
pdSeriescompareIndex	DataFrametmassert_frame_equal
MultiIndexfrom_productassert_series_equal)axiss1s2resultindicesr   expecteds          f/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/series/methods/test_compare.pytest_compare_axisr'      s    	?	#B	?	#BZZtZ,F~((Aq6"((FG,-<<3Z#s$GW
 	fh/--,,q!fvw6G-HI991A
vx0    zkeep_shape, keep_equal))TF)FT)TTc                 p   t        j                  g d      }t        j                  g d      }|j                  || |      }| rt        j                  g d      }t        j                  ddg      }|r"t        j                  ddgd	d	gd
dgg||      }nt        j                  ddgt
        j                  t
        j                  gd
dgg||      }nLt        j                  ddg      }t        j                  ddg      }t        j                  ddgd
dgg||      }t        j                  ||       y )Nr   r   )
keep_shape
keep_equalr   r   r   r   r   r   r	   r   r   r
   r   r   r   )	r   r   r   r   r   npnanr   r   )r*   r+   r!   r"   r#   r$   r   r%   s           r&   test_compare_various_formatsr/      s    
?	#B	?	#BZZzjZIF((9%((FG,-||sc3Z#s4GWH ||sbffbff-Sz:H ((Aq6"((FG,-<<3Z#s$GW
 &(+r(   c                  "   t        j                  ddt        j                  g      } t        j                  ddt        j                  g      }| j	                  |      }t        j
                  ddggddg      }t        j                  ||       y )Nr   r   r	   r   r   )r   )r   r   r-   r.   r   r   r   r   )r!   r"   r#   r%   s       r&   test_compare_with_equal_nullsr1   A   sn     
Cbff%	&B	Cbff%	&BZZ^F||c3ZL672CDH&(+r(   c                  l   t        j                  g d      } t        j                  ddt        j                  g      }| j	                  |d      }t         j
                  j                  ddgddgg      }t        j                  d	dd
t        j                  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%   s        r&   !test_compare_with_non_equal_nullsr3   L   s    	?	#B	Cbff%	&BZZqZ)Fmm((1a&672C)DEGyy#sC0@H68,r(   c                     t         j                  j                  g dg dg      } t        j                  g d|       }t        j                  g d|       }|j	                  |d      }t         j                  j                  g dg d	g d
g      }t        j                  g d|      }t        j                  ||       y )N)r   r   r   r,   r   r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   from_arraysr   r   r   r   )r   r!   r"   r#   r$   r%   s         r&   test_compare_multi_indexr6   X   s    MM%%y)&<=E	?%	0B	?%	0BZZqZ)Fmm''	|%GHG yy-W=H68,r(   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)N3Can only compare identically-labeled Series objectsr   r      r   r   )r   r   dmatchr   r   pytestraises
ValueErrorr   msgser1ser2s      r&   test_compare_different_indicesrF   f   sV    
?C99Yo6D99Yo6D	z	- T  s   A//A8c                      d} t        j                  g d      }t        j                  g d      }t        j                  t        |       5  |j                  |       d d d        y # 1 sw Y   y xY w)Nr8   r9   )r   r   r:      r<   r>   rB   s      r&   test_compare_different_lengthsrI   n   sR    
?C99YD99\"D	z	- T  s   A''A0c                     ddddddddddd	dd
ddg} ddd}t        j                  |       j                  |      }|d   j                  |d         }|d   |d   k(  }|d   |d   k7  }t        j                  dgdz        }t        j                  dgdz        }t        j                  ||       t        j                  ||       t        j                  ||       y )Nz
2015-07-0108335394550)r   r   z
2015-07-02z+49 (0) 0345 300033z
2015-07-03z+49(0)2598 04457z
2015-07-04
0741470003z
2015-07-05z04181 83668zdatetime64[ns]string)datar   r   F   T)r   r   astypeeqr   r   r   )rN   dtypesdf
result_eq1
result_eq2
result_neqexpected_eqexpected_neqs           r&   "test_compare_datetime64_and_stringrY   v   s     /!67!34./D $(3F	4	 	'	'	/BCBsG$JCBsG#JCBsG#J))UGaK(K99dVaZ(L:{3:{3:|4r(   )numpyr-   r?   pandasr   pandas._testing_testingr   r'   markparametrizer/   r1   r3   r6   rF   rI   rY    r(   r&   <module>ra      s_       1( ,,8,	--5r(   