U
    *if                     @   s   d dl Zd dlZd dlZd dlmZ ej	dd dddgdd Z
ej	dd	d
dgdd Zdd Zdd Zej	dd dgdd Zdd ZdS )    N
align_axis   indexcolumnsc                 C   s  t jdddgddtjgdddgddd	d
gd}| }d|jd< d|jd< |j|| d}| dkrt 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}nVt 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      ?       @      @col1col2col3r   r   r   r   r   r         @   r   r   )r   r   r   r   selfotherr   r   pd	DataFramenpnancopyloccompareIndex
MultiIndexZfrom_producttmassert_frame_equal)r   dfdf2resultindicesr   expected r*   Z/home/mars/bis/venv/lib/python3.8/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dddgddtjgdddgddd	d
gd}| }d|jd< d|jd< |j|| |d}| r(t dddg}t j	dd	d
gddgg}|rt jddddddgddddddgddtjtjddgg||d}nVt 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}nJt ddg}t j	dd
gddgg}t jddddgddddgg||d}t
|| d S )Nr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   )
keep_shape
keep_equalr   r   r   r   r   r   r   )r-   r.   r%   r&   r'   r(   r   r)   r*   r*   r+   test_compare_various_formats(   sL    




  r/   c                  C   s   t jdddgddtjgdddgddd	d
g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*   r*   r+   test_compare_with_equal_nulls^   s    

r1   c                  C   s   t jdddgddtjgdddgddd	d
g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   r0   r*   r*   r+   !test_compare_with_non_equal_nullso   s     

 r2   c                 C   s~  t dddgddtjgdddgd}t jdddgdd	d
gg|_t jdddgdddgg|_| }d|j	d< d|j	d< |j
|| d}| dkrt jddddgddddgddddg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}nbt jddgddgg}t jddddgddd
d
gddddg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   r   r   xyr   r   r   )r   r   r   )r   r   r   r   r   )datar   r   )r   r   r   r   r"   Zfrom_arraysr   r   r   Zilocr    r#   r$   )r   r%   r&   r'   r(   r   r5   r)   r*   r*   r+   test_compare_multi_index   s2    

 &


 r6   c               	   C   s   d} t jt| dD tjdddgdddgd	}tjdddgddd
gd	}|| W 5 Q R X d} t jt| d0 ttd}ttd}|| W 5 Q R X d S )Nz6Can only compare identically-labeled DataFrame objects)matchr   r      r   r   r   )r   d)r8   r8   )r   r   )	pytestZraises
ValueErrorr   r   r    r   ZonesZzeros)msgZdf1r&   r*   r*   r+   test_compare_unaligned_objects   s    r=   )numpyr   r:   Zpandasr   Zpandas._testingZ_testingr#   markZparametrizer,   r/   r1   r2   r6   r=   r*   r*   r*   r+   <module>   s$   
	
-
"