o
    LDi                     @   sp   d dl Zd dlm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S )    N)WARNING_CHECK_DISABLED)	DataFrameoption_context)	get_arrayc                 C   s   t dg di}| }t|d}|d d  }|r5t  |jddd W d    n1 s/w   Y  n|jddd | ratt|d|rIJ |j	dsQJ |j	dsYJ t
|| d S tt|d|slJ d S Nag      ?      r	   Tlowerinplacer   )r   copyr   tmassert_cow_warningclipnpshares_memory_mgr_has_no_referenceassert_frame_equal)using_copy_on_writewarn_copy_on_writedfdf_copyarr_aview r   l/var/www/www-root/data/www/77.83.87.30/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   r   r   r   r   r   )r   r   r   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_inplace0   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_clip;   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_opG   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 tjts`tnd dd	 |d jdddd W d    n1 szw   Y  td ( t	d
d  |dg jdddd W d    n1 sw   Y  W d    n1 sw   Y  td 4 t	d
d  ||d dk jdddd W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )N)      r	   r'   )r   br   r	   T)r   zinplace method)matchzmode.chained_assignment)
r   r   r   raises_chained_assignment_errorr   r   assert_produces_warningr   FutureWarningr   )r   r   r#   r   r   r   test_clip_chained_inplaceR   s<   


"r.   )numpyr   pandas.compatr   pandasr   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r   r    r!   r%   r&   r.   r   r   r   r   <module>   s    