a
    PfJ                  	   @   s   d dl Z d dlmZ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d ZdS )    N)	DataFrameSeries)
MergeErrormerge)	input_coloutput_colsba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   d/var/www/ai-form-bot/venv/lib/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_dtypes4   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 )Nabr(   r   r*   r      )CDr   r   )r	   r	   r   r   )r(   r(   r   r   )r   r   r   r   )r      r   r2   )r&   r)   r0   r1   )r   listr+   r   r   r   r,   r   r   r   %test_merge_cross_more_than_one_column=   s    r4   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   )r5   r6   r5   r6   r$   )r   r   r   r   )Znulls_fixturer   r   r   r   r   r   r   test_merge_cross_null_valuesM   s    
r7   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_reporting\   s    r9   c                  C   s`   t g dg ddd} t g dg ddd}t| |dd}t|  | dd}t|| d S )N)r   r(   r   r   r   )indexname)r   r   r2   r/   r   r   r   )r   r   Zto_framer   r   )Zlsrsresr   r   r   r   test_merge_cross_seriesh   s
    r>   )r    Zpandasr   r   Zpandas._testingZ_testingr   Zpandas.core.reshape.merger   r   markZparametrizer   r#   r-   r4   r7   r9   r>   r   r   r   r   <module>   s,   


	