o
    5c                     @   s   d dl Zd dlZd dlZd dlmZ ej	dg ddd Z
ej	dg ddd	 Zd
d Zdd Zej	dd dgdd Zdd Zdd Zej	dddgddddddgdd Zdd ZdS )    N
align_axis)r      indexcolumnsc                 C   s  t jg dddtjgg ddg dd}| }d|jd< d	|jd
< |j|| d}| dv rXt 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d	gg||d}n+t j	ddgddgg}t ddg}t jdtjgdtjgtjdgtjd	gg||d}t
|| 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Index
MultiIndexfrom_producttmassert_frame_equal)r   dfdf2resultindicesr   expected r-   ]/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/frame/methods/test_compare.pytest_compare_axis   s0   

"r/   zkeep_shape, keep_equal))TF)FT)TTc              	   C   s^  t jg dddtjgg ddg dd}| }d|jd< d	|jd
< |j|| |d}| rt g d}t j	g dddgg}|rZt jg dg dddtjtjdd	gg||d}nMt 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||d}n!t ddg}t j	ddgddgg}t jg dg dg||d}t
|| 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   )r0   r1   r(   r)   r*   r+   r   r,   r-   r-   r.   test_compare_various_formats(   sH   




r3   c                  C   s   t jg dddtjgg ddg dd} |  }d|jd< | |}t d	g}t j	d
gddgg}t jddgg||d}t
|| 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.   test_compare_with_equal_nulls^   s   

r5   c                  C   s   t jg dddtjgg ddg dd} |  }d|jd< tj|jd	< | |}t 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||d}t
|| d S )Nr   r
   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r4   r-   r-   r.   !test_compare_with_non_equal_nullso   s    

 r6   r   c                 C   sZ  t 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< |j
|| d}| dkrrt 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}n+t 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|||d}t|| d S )Nr   r
   r   r   r   )r   r   r   )xr7   yr2   r	   )r   r   r   )r   r   r   r   )r7   r7   r8   r8   )r   r   r   r   )r   r   r   r   r   r   r   r   r   r7   r8   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   r9   r,   r-   r-   r.   test_compare_multi_index   s2   

& r<   c                  C   s   d} t jt| d# tjg dg dd}tjg dg dd}|| W d    n1 s/w   Y  d} t jt| d ttd}ttd}|| W d    d S 1 s^w   Y  d S )	Nz6Can only compare identically-labeled DataFrame objectsmatch)r   r      r   )r   )r   r   d)r?   r?   )r   r   )	pytestraises
ValueErrorr   r   r"   r   oneszeros)msgdf1r)   r-   r-   r.   test_compare_unaligned_objects   s   "rH   c                  C   s   t g dddtjgg dd} t g dddtjgddtjgd}| j|dd}t d	tjd
dtjd
tjdd
tjtjd
d}t|| d S )Nr   r
   r   r   r   r	   r   r	   )leftrightresult_namesr   )r   r   r	   r   ))r   rJ   )r   rK   )r   rJ   )r   rK   )r   r   r   r   r"   r&   r'   rG   r)   r*   r,   r-   r-   r.   test_compare_result_names   s$   




rO   rM   r   HKr?   )23r   c                 C   s   t g dddtjgg dd}t g dddtjgddtjgd}tjtdt|  dd	 |j|| d
 W d    d S 1 sDw   Y  d S )Nr   r
   r   r   r   rI   zPassing 'result_names' as a z= is not supported. Provide 'result_names' as a tuple instead.r=   rL   )	r   r   r   r   rA   rB   	TypeErrortyper"   )rM   rG   r)   r-   r-   r.   test_invalid_input_result_names   s   

"rU   c                  C   s   t ddgddgd} t t jdt jgddddgd}| j|d	d
}t dtjgt jdt jgddtjtjd}t|| d S )Nr      r
   r   )r   r   r   Int64)dtypeT)r0   ))r   r   )r   r   )r   r   )r   r   )	r   r   SeriesNAr"   r   r   r&   r'   rN   r-   r-   r.   test_compare_ea_and_np_dtype   s   $r[   )numpyr   rA   pandasr   pandas._testing_testingr&   markparametrizer/   r3   r5   r6   r<   rH   rO   rU   r[   r-   r-   r-   r.   <module>   s8    

	-
"

