o
    ҷh	                     @   s`   d dl Zd dl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S )    N)	DataFrame)	get_arrayc                 C   s   t dg di}| }t|d}|d d  }|jddd | rCtt|d|r+J |jds3J |jds;J t	|| d S tt|d|sNJ d S Nag      ?      r   Tlowerinplacer   
r   copyr   clipnpshares_memory_mgr_has_no_referencetmassert_frame_equalusing_copy_on_writedfdf_copyarr_aview r   S/var/www/html/venv/lib/python3.10/site-packages/pandas/tests/copy_view/test_clip.pytest_clip_inplace_reference   s   
r   c                 C   s   t dg di}| }t|d}|d d  }|jddd tt|d|s)J | rC|jdr3J |jdr;J t	|| d S d S )Nr   r   r   Tr	   r   r   r   r   r   !test_clip_inplace_reference_no_op   s   
r   c                 C   sZ   t dg di}t|d}|jddd tt|d|sJ | r)|jds+J d S d S r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   test_clip_inplace'   s   
r   c                 C   sd   t dg di}| }|jdd}tt|dt|dr J | r*|jds*J t	|| d S )Nr   r   r   r
   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   df_origdf2r   r   r   	test_clip2   s   r#   c                 C   sp   t dg di}|jdd}| r(|jdrJ tt|dt|ds&J d S tt|dt|dr6J d S )Nr   r   r   r    )r   r   r   r   r   r   r   )r   r   r"   r   r   r   test_clip_no_op>   s     r$   c                 C   s   t g ddd}| }| rZt  |d jdddd W d    n1 s(w   Y  t|| t  |dg jdddd W d    n1 sMw   Y  t|| d S d S )N)      r   r%   )r   br   r   T)r   )r   r   r   raises_chained_assignment_errorr   r   )r   r   r!   r   r   r   test_clip_chained_inplaceI   s   

r)   )numpyr   pandasr   pandas._testing_testingr   pandas.tests.copy_view.utilr   r   r   r   r#   r$   r)   r   r   r   r   <module>   s    