o
    i                      @   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g dddd Zdd  ZdS )!    N)	DataFrameSeries)	get_arrayc                 C   st   t g dg dg dd}| }tt|dt|dr J | r*|jjd u s*J d|jd< |jd dks8J d S )	N                  g?g?g333333?abcr   r   r   r   r   r   copynpshares_memoryr   _mgrrefsilocusing_copy_on_writedfdf_copy r   ^/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/copy_view/test_methods.py	test_copy   s   
r    c                 C   s   t g dg dg dd}|jdd}tt|dt|ds"J | r,|jjd us,J | rZd|jd	< |jd	 d
ks<J tt|dt|drJJ tt|dt|dsXJ d S d|jd	< |jd	 dkshJ tt|dt|dsvJ d S )Nr   r	   r   r   Fdeepr   r   r   r   r   r   r   r   r   r   test_copy_shallow   s   
 
 r#   c                 C   s   t g dg dg ddg dd}| }| }|j  | r=tt|dt|ds/J tt|dt|ds=J d	|jd
< tt|dt|drPJ | r`tt|dt|ds`J t	
|| d S )Nr   r	   r   r   )
         )indexr   r   r   )r   r   )r   r   reset_indexr   _verify_integrityr   r   r   r   tmassert_frame_equalr   r   df_origdf2r   r   r   test_reset_index7   s   

r/   c                 C   s   t g dg dg dd}| }|jtjd}| r)tt|dt|ds)J d|jd	< tt|dt|dr<J | rLtt|d
t|dsLJ t g dg dg dd}t	
|| t	
|| d S )Nr   r	   r   r   columnsAr   r   r   Cr   r   r   r   )r2   Br3   )r   r   renamestrupperr   r   r   r   r*   r+   )r   r   r-   r.   expectedr   r   r   test_rename_columnsM   s   
r:   c                 C   s   t g dg dg dd}|jtjd}| }| r*tt|dt|ds)J ntt|dt|dr8J d|jd	< tt|dt|drKJ | r[tt|d
t|ds[J t g dg dg dd}t	
|| t	
|| d S )Nr   r	   r   r   r0   r2   r   r   r   r3   r   r4   )r   r6   r7   r8   r   r   r   r   r   r*   r+   )r   r   r.   df2_origr9   r   r   r   !test_rename_columns_modify_parent_   s   
r<   c                 C   s   t g dg dg dd}| }|jddgd}| r+tt|dt|ds*J ntt|dt|dr9J d|jd	< tt|dt|drLJ | r\tt|dt|ds\J t|| d S )
Nr   r	   r   r   r   r   r0   r   r   )	r   r   reindexr   r   r   r   r*   r+   r,   r   r   r   test_reindex_columnss   s   
r>   c                 C   s   t g dg dg dd}| }|d}|j  | r-tt|dt|ds,J ntt|dt|dr;J d|jd< | rPtt|dt|drPJ t	
|| d S )	Nr   r	   r   r   int64r   r   r   )r   r   select_dtypesr   r)   r   r   r   r   r*   r+   r,   r   r   r   test_select_dtypes   s   


rA   c                 C   s   t g d}| }|d d   }t|jt|dsJ d|jd< | r8t|jt|dr1J t	|| n| }d|jd< t	|| |d d   }d|jd< | r`t
||  d S |  }d|jd< t
|| d S )Nr   r   r   )r   r   to_framer   r   valuesr   r   r*   assert_series_equalr+   )r   serser_origr   r9   r   r   r   test_to_frame   s$   



rG   zmethod, idxc                 C   s   | j ddj ddS )NFr!   )r   r   r   r   r   <lambda>       rI   c                 C   s   |     S )N)r(   rH   r   r   r   rI      s    r   c                 C   s   | j tjdj tjdS )Nr0   )r6   r7   r8   lowerrH   r   r   r   rI      s    c                 C   s   | j ddjddS )NFr!   number)include)r   r@   rH   r   r   r   rI      rJ   )shallow-copyr(   r6   r@   )idsc                 C   s   t g dg dg dd}| }| o| jjjdk}||}d|jd|f< |s/t|| ||}d|jd< |sKt|jd d |d f | d S d S )Nr   r	   r   r   rN   r   r   )r   r   nodecallspecidr   r*   r+   )requestmethodidxr   r   r-   df2_is_viewr.   r   r   r   test_chained_methods   s   
"rW   c                 C   s   t ddgddd}|d d  }| }d|||k< | r2tt|dt|dr*J t|| d S tt|dt|ds@J |jd dksIJ d S )Nr   r   r   r   r   r   )r   r   r   r   r   r*   r+   r   )r   r   viewr-   r   r   r   test_putmask   s   rY   )numpyr   pytestpandasr   r   pandas._testing_testingr*   pandas.tests.copy_view.utilr   r    r#   r/   r:   r<   r>   rA   rG   markparametrizerW   rY   r   r   r   r   <module>   s0    "





