U
    sVc                      @   s   d dl Zd dlZd dlmZmZ d dlmZ d dl	m
Z
 dd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zejjddd d fdd dfdd d fdd d fgddddgdd d! Zd"d# ZdS )$    N)	DataFrameSeries)	get_arrayc                 C   sz   t dddgdddgddd	gd
}| }tt|dt|drFt| rZ|jjd ksZtd|jd< |jd dksvtd S )N                  皙?皙?333333?abcr   r   r   r   	r   copynpshares_memoryr   AssertionError_mgrrefsilocusing_copy_on_writedfZdf_copy r   G/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/copy_view/test_methods.py	test_copy   s    "
r    c                 C   s   t dddgdddgddd	gd
}|jdd}tt|dt|dsJt| r^|jjd k	s^t| rd|jd< |jd dks~ttt|dt|drttt|dt|dstn8d|jd< |jd dksttt|dt|dstd S )Nr   r   r   r   r	   r
   r   r   r   r   Fdeepr   r   r   r   r   r   r   r   r   test_copy_shallow   s    "

r#   c                 C   s   t dddgdddgddd	gd
dddgd}| }| }|j  | rtt|dt|dsfttt|dt|dstd|j	d< tt|dt|drt| rtt|dt|dstt
|| d S )Nr   r   r   r   r	   r
   r   r   r   r   
         )indexr   r   r   )r   r   )r   r   reset_indexr   _verify_integrityr   r   r   r   r   tmassert_frame_equalr   r   df_origdf2r   r   r   test_reset_index7   s     

r/   c                 C   s   t dddgdddgddd	gd
}| }|jtjd}| rXtt|dt|dsXtd|j	d< tt|dt|dr~t| rtt|dt|dstt dddgdddgddd	gd}t
|| t
|| d S )Nr   r   r   r   r	   r
   r   r   r   r   columnsAr   r   r   Cr   )r2   Br3   )r   r   renamestrupperr   r   r   r   r   r*   r+   )r   r   r-   r.   expectedr   r   r   test_rename_columnsM   s    "
"r9   c                 C   s   t dddgdddgddd	gd
}|jtjd}| }| rZtt|dt|dsvtntt|dt|drvtd|j	d< tt|dt|drt| rtt|dt|dstt dddgdddgddd	gd
}t
|| t
|| d S )Nr   r   r   r   r	   r
   r   r   r   r   r0   r2   r   r   r   r3   r   )r   r5   r6   r7   r   r   r   r   r   r   r*   r+   )r   r   r.   Zdf2_origr8   r   r   r   !test_rename_columns_modify_parent_   s    "
"r:   c                 C   s   t dddgdddgddd	gd
}| }|jddgd}| r\tt|dt|dsxtntt|dt|drxtd|jd< tt|dt|drt| rtt|dt|dstt	|| d S )Nr   r   r   r   r	   r
   r   r   r   r   r   r   r0   r   r   )
r   r   Zreindexr   r   r   r   r   r*   r+   r,   r   r   r   test_reindex_columnss   s    "
r;   c                 C   s   t dddgdddgddd	gd
}| }|d}|j  | r`tt|dt|ds|tntt|dt|dr|td|j	d< | rtt|dt|drtt
|| d S )Nr   r   r   r   r	   r
   r   r   r   r   Zint64r   r   r   )r   r   select_dtypesr   r)   r   r   r   r   r   r*   r+   r,   r   r   r   test_select_dtypes   s    "


r=   c                 C   s   t dddg}| }|d d   }t|jt|ds>td|jd< | rrt|jt|drdtt	
|| n| }d|jd< t	
|| |d d   }d|jd< | rt	||  n"|  }d|jd< t	|| d S )Nr   r   r   r   r   )r   r   Zto_framer   r   valuesr   r   r   r*   Zassert_series_equalr+   )r   ZserZser_origr   r8   r   r   r   test_to_frame   s$    



r?   zmethod, idxc                 C   s   | j ddj ddS )NFr!   )r   r   r   r   r   <lambda>       rA   c                 C   s   |     S )N)r(   r@   r   r   r   rA      rB   r   c                 C   s   | j tjdj tjdS )Nr0   )r5   r6   r7   lowerr@   r   r   r   rA      rB   c                 C   s   | j ddjddS )NFr!   number)include)r   r<   r@   r   r   r   rA      rB   shallow-copyr(   r5   r<   )idsc                 C   s   t dddgdddgddd	gd
}| }| o<| jjjdk}||}d|jd|f< |sdt|| ||}d|jd< |st|jd d |d f | d S )Nr   r   r   r   r	   r
   r   r   r   r   rF   r   r   )r   r   nodeZcallspecidr   r*   r+   )requestmethodidxr   r   r-   Zdf2_is_viewr.   r   r   r   test_chained_methods   s    "
rM   c                 C   s   t ddgddd}|d d  }| }d|||k< | rbtt|dt|drTtt|| n.tt|dt|ds~t|jd dkstd S )Nr   r   r   r	   r   r   )	r   r   r   r   r   r   r*   r+   r   )r   r   viewr-   r   r   r   test_putmask   s    rO   )Znumpyr   ZpytestZpandasr   r   Zpandas._testingZ_testingr*   Zpandas.tests.copy_view.utilr   r    r#   r/   r9   r:   r;   r=   r?   markZparametrizerM   rO   r   r   r   r   <module>   s.   "






