U
    [e                     @   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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   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*   i/var/www/html/services/stratfitenv/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)r9   r9   )r   r   )	pytestraises
ValueErrorr   r   r    r   ZonesZzeros)msgdf1r&   r*   r*   r+   test_compare_unaligned_objects   s    r@   c                  C   s   t dddgddtjgdddgd} t dddg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   )leftrightresult_names)r   r   ))r   rA   )r   rB   )r   rA   )r   rB   )r   r   r   r   r    r#   r$   r?   r&   r'   r)   r*   r*   r+   test_compare_result_names   s$    




rF   rD   r   ZHKr9   )23r   c              	   C   s   t dddgddtjgdddgd}t dddgddtjgddtjgd}tjtdt|  d	d
 |j|| d W 5 Q R X d S )Nr   r   r   r	   r
   r   r   zPassing 'result_names' as a z= is not supported. Provide 'result_names' as a tuple instead.r7   rC   )	r   r   r   r   r;   r<   	TypeErrortyper    )rD   r?   r&   r*   r*   r+   test_invalid_input_result_names   s    

rK   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   ZInt64)ZdtypeT)r-   ))r   r   )r   r   )r   r   )r   r   )	r   r   ZSeriesZNAr    r   r   r#   r$   rE   r*   r*   r+   test_compare_ea_and_np_dtype   s    $rM   )numpyr   r;   Zpandasr   Zpandas._testingZ_testingr#   markZparametrizer,   r/   r1   r2   r6   r@   rF   rK   rM   r*   r*   r*   r+   <module>   s<   
	
-
"

