o
    ŀgJ                  	   @   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_x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right	left_copy
right_copyresultexpected r   _/var/www/html/myenv/lib/python3.10/site-packages/pandas/tests/reshape/merge/test_merge_cross.pytest_merge_cross   s    r   kwargs
left_indexTright_indexonleft_onright_onc                 C   sn   t dddgi}t dddgi}d}tjt|d t||fdd	i|  W d    d S 1 s0w   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-   r0   )r   ranger   r   r   r   r   r   r   r   r   r   test_merge_cross_mixed_dtypes4   s
   r4   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   r1   r      )CDr   r   )r	   r	   r   r   )r/   r/   r   r   )r   r   r   r   )r      r   r9   )r-   r0   r7   r8   )r   listr2   r   r   r   r3   r   r   r   %test_merge_cross_more_than_one_column=   s   r;   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   )r<   r=   r<   r=   r+   )r   r   r   r   )nulls_fixturer   r   r   r   r   r   r   test_merge_cross_null_valuesM   s   
r?   c                  C   sh   t dddgi} t dddgi}d}tjt|d | j|ddd W d    d S 1 s-w   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   "rA   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   r9   r6   r   r   r   )r   r   to_framer   r   )lsrsresr   r   r   r   test_merge_cross_seriesh   s
   rH   )r'   pandasr   r   pandas._testing_testingr   pandas.core.reshape.merger   r   markparametrizer   r*   r4   r;   r?   rA   rH   r   r   r   r   <module>   s.    


	