U
    b
                  	   @   s   d dl Z d dlmZ d dlmZ d dlmZmZ e j	
ddddgfdddgfgd	d
 Ze j	
dddiddiddiddiddigdd Zdd Zdd Zdd Zdd ZdS )    N)	DataFrame)
MergeErrormerge)	input_coloutput_colsbaZa_xZa_yc                 C   s   t dddgi}t | ddgi}| }| }t||dd}t |d ddddg|d ddddgi}t|| t|| t|| d S )Nr            crosshowr   )r   copyr   tmassert_frame_equal)r   r   leftrightZ	left_copyZ
right_copyresultexpected r   O/tmp/pip-unpacked-wheel-ck39h295/pandas/tests/reshape/merge/test_merge_cross.pytest_merge_cross   s    (r   kwargsZ
left_indexTZright_indexonZleft_onZright_onc              	   C   sX   t dddgi}t dddgi}d}tjt|d t||fdd	i|  W 5 Q R X d S )
Nr   r	   r
   r   r   MCan not pass on, right_on, left_on or set right_index=True or left_index=Truematchr   r   )r   pytestraisesr   r   )r   r   r   msgr   r   r    test_merge_cross_error_reporting   s    r!   c                  C   sj   t dddgdgd} t tddgd}t| |dd	}t ddddddgd
dd
dd
dgd}t|| d S )Nr   r   cA)columns   Br   r   r   r	   r#   r&   )r   ranger   r   r   r   r   r   r   r   r   r   test_merge_cross_mixed_dtypes1   s
    &r*   c                  C   s~   t tdddgd} t tdtddd}t| |dd	}t d
d
ddgddddgddddgddddgd}t|| d S )Nabr%   r	   r'   r      )CDr   r   r   r   r      )r#   r&   r-   r.   )r   listr(   r   r   r   r)   r   r   r   %test_merge_cross_more_than_one_column:   s    



r1   c                 C   sl   t dd| gi}t ddgddgd}t||dd}t dd| | gddddgddddgd	}t|| d S )
Nr   r	   r   g      ?g       @)r   r"   r   r   )r   r   r"   )r   r   r   r   )Znulls_fixturer   r   r   r   r   r   r   test_merge_cross_null_valuesJ   s    


r2   c               	   C   sR   t dddgi} t dddgi}d}tjt|d | j|ddd W 5 Q R X d S )	Nr   r	   r
   r   r   r   r   )r   r   )r   r   r   r   join)r   r   r    r   r   r   test_join_cross_error_reportingY   s    r4   )r   Zpandasr   Zpandas._testingZ_testingr   Zpandas.core.reshape.merger   r   markZparametrizer   r!   r*   r1   r2   r4   r   r   r   r   <module>   s,    


	