o
    Mf                     @   sd   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S )    N)	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   b/var/www/html/analyze/labelStudio/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_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_clip9   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_opE   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dd	 |d jdddd W d    n1 svw   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_warningFutureWarningr   )r   r   r"   r   r   r   test_clip_chained_inplaceP   s6   

"r-   )numpyr   pandasr   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r   r   r    r$   r%   r-   r   r   r   r   <module>   s    