a
    Gb
                  	   @   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 g d|d g d	i}t|| t|| t|| d S )
Nr            crosshowr   )r	   r	   r
   r
   )r
   r   r
   r   )r   copyr   tmassert_frame_equal)r   r   leftrightZ	left_copyZ
right_copyresultexpected r   Jlib/python3.9/site-packages/pandas/tests/reshape/merge/test_merge_cross.pytest_merge_cross   s     r   kwargsZ
left_indexTZright_indexonZleft_onZright_onc                 C   sl   t dddgi}t dddgi}d}tjt|d& t||fdd	i|  W d    n1 s^0    Y  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   sX   t g ddgd} t tddgd}t| |dd}t g dg d	d
}t|| d S )Nr   r   cA)columns   Br   r   )r   r   r   r   r#   r#   )r   r	   r   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   sn   t tdddgd} t tdtddd}t| |dd	}t g d
g dg dg dd}t|| d S )NZabr&   r	   r(   r      )CDr   r   )r   r   r   r   )r&   r&   r	   r	   )r   r	   r   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   sd   t dd| gi}t ddgddgd}t||dd}t dd| | gg d	g d
d}t|| d S )Nr   r	   r         ?       @)r   r#   r   r   )r   r   r   r   )r2   r3   r2   r3   r"   )r   r   r   r   )Znulls_fixturer   r   r   r   r   r   r   test_merge_cross_null_valuesJ   s    
r4   c                  C   sf   t dddgi} t dddgi}d}tjt|d  | j|ddd W d    n1 sX0    Y  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    r6   )r   Zpandasr   Zpandas._testingZ_testingr   Zpandas.core.reshape.merger   r   ZmarkZparametrizer   r!   r+   r1   r4   r6   r   r   r   r   <module>   s*   


	