o
    թZh                     @   s2   d dl Z d dlmZ d dlmZ G dd dZdS )    N)	DataFramec                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )
TestAssignc                 C   s0  t g dg dd}| }|j|j|j d}| }g d|d< t|| |jdd d}t|| t|| |jg dd}t|| t|| |j|j|j d	}|jd
ddjdd
id}t|| |j|j|j d}| }g d|d< t|| |jdd d}t|| d S )N                  AB)C)r	   g      @r   r   c                 S   s   | j | j S N)r   r   x r   ]/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/frame/methods/test_assign.py<lambda>       z(TestAssign.test_assign.<locals>.<lambda>r   r   r   )Zaxiscolumnsr   )r
      	   r   c                 S   s   | j | j S r   r   r   r   r   r   r   (   r   )	r   copyassignr   r   tmassert_frame_equalZdroprename)selfdforiginalresultexpectedr   r   r   test_assign   s*   zTestAssign.test_assignc                 C   sn   t ddgddgddggddgd	}|jg d
|jdd d}t g dg dg dgtdd	}t|| d S )Nr   r	   r   r
   r   r   r   r   r   )r      r   c                 S      | j S r   r   r   r   r   r   r   -       z1TestAssign.test_assign_multiple.<locals>.<lambda>)r   DE)r   r	   r   r   r	   )r   r
   r(   r   r
   )r   r   r   r   r   ZABCDEr   r   r   listr   r    r"   r#   r%   r&   r   r   r   test_assign_multiple+   s   "zTestAssign.test_assign_multiplec                 C   s   t ddgddggddgd}|j|j|j |j|j d}t g d	g d
gtdd}t|| |j|j|j |j|j d}t g dg dgtdd}t|| d S )Nr   r   r   r	   r   r   r   )r+   r   )r   r   r   )r   r	   r   r1   ZABDCr   r+   )r   r   r1   r   )r   r	   r1   r   ABCD)r   r   r   r   r.   r   r    r/   r   r   r   test_assign_order3   s   zTestAssign.test_assign_orderc                 C   s   t g dg dd}d}tjt|d |dd  W d    n1 s&w   Y  d}tjt|d |j|j|j|j d	 W d    d S 1 sLw   Y  d S )
Nr   r   r   z7assign\(\) takes 1 positional argument but 2 were given)matchc                 S   r)   r   r   r   r   r   r   r   F   r*   z,TestAssign.test_assign_bad.<locals>.<lambda>z''DataFrame' object has no attribute 'C'r2   )r   pytestZraises	TypeErrorr   AttributeErrorr   r   )r"   r#   msgr   r   r   test_assign_bad@   s   "zTestAssign.test_assign_badc                 C   s   t ddgddgd}|j|jdd d}t g d	g d
gtdd}t|| |jdd dd d}t g d	g d
gtdd}t|| d S )Nr   r   r   r	   r   c                 S      | d | d  S Nr   r   r   r   r   r   r   r   N       z2TestAssign.test_assign_dependent.<locals>.<lambda>r2   )r   r   r   r   )r   r	   r   r	   r3   r   c                 S   r)   r   r   r#   r   r   r   r   R   r*   c                 S   r;   r<   r   r>   r   r   r   r   R   r=   r-   r/   r   r   r   test_assign_dependentK   s   z TestAssign.test_assign_dependentN)__name__
__module____qualname__r'   r0   r4   r:   r?   r   r   r   r   r      s    #r   )r6   Zpandasr   Zpandas._testingZ_testingr   r   r   r   r   r   <module>   s    