3
Ud                 @   s   d dl Zd dlZd dlZd dljZejj	dd dddgdd Z
ejj	ddddgdd Zdd Zdd Zej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}|j }d|jd< d|jd< |j|| d}| dkrt 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dgg||d}nVt jj	ddg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||d}t
j|| d S )Nabcg      ?g       @g      @)col1col2col3r	   r
   r   )r   r   g      @   )r   r   r   selfother)r   r   )r   r	   )r   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/virt/lib64/python3.6/site-packages/pandas/tests/frame/methods/test_compare.pytest_compare_axis   s*    


"r"   zkeep_shape, keep_equalTFc          	   C   s  t jdddgddtjgdddgddd	d
gd}|j }d|jd< d|jd< |j|| |d}| r(t jdddg}t j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 jddg}t jj	dd
gddgg}t jddddgddddgg||d}t
j|| d S )Nr   r   r   g      ?g       @g      @)r	   r
   r   r	   r
   r   )r   r   g      @r   )
keep_shape
keep_equalr   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!   test_compare_various_formats(   s:    




 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} | j }d|jd< | j|}t jdg}t jj	dgddgg}t jddgg||d}t
j|| d S )Nr   r   r   g      ?g       @g      @)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!   test_compare_with_equal_nulls^   s    

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} | 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||d}t
j|| d S )Nr   r   r   g      ?g       @g      @)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!   !test_compare_with_non_equal_nullso   s    

 r'   c             C   s  t jdddgddtjgdddgd}t jjdddgdd	d
gg|_t jjdddgdddgg|_|j }d|j	d< d|j	d< |j
|| d}| dk rt jjddddgddddgddddg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}nbt jjddgddgg}t j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j|| d S )Nr   r   r   g      ?g       @g      @)r	   r
   r   r	   r
   r   xyr   r   r   g      @)r   r   r   )datar   r   )r   r   )r   r   )r   r   r   r   r   Zfrom_arraysr   r   r   Zilocr   r   r   )r   r   r   r   r   r   r*   r   r    r    r!   test_compare_multi_index   s*    "


$&

 r+   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	}|j| W d Q R X d} t jt| d0 tjtjd}tjtjd}|j| W d Q R X d S )Nz6Can only compare identically-labeled DataFrame objects)matchr   r      r   r   r   )r   d)r-   r-   )r   r   )	pytestZraises
ValueErrorr   r   r   r   ZonesZzeros)msgZdf1r   r    r    r!   test_compare_unaligned_objects   s    r2   )TF)FT)TT)Znumpyr   r/   Zpandasr   Zpandas._testingZ_testingr   markZparametrizer"   r%   r&   r'   r+   r2   r    r    r    r!   <module>   s   
 1#