a
    Pf                     @   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  }|rjt  |jddd W d    qx1 s^0    Y  n|jddd | rtt|d|rJ |j	dsJ |j	dsJ t
|| ntt|d|sJ d S Nag      ?      r   Tlowerinplacer   )r   copyr   tmZassert_cow_warningclipnpshares_memory_mgr_has_no_referenceassert_frame_equal)using_copy_on_writeZwarn_copy_on_writedfdf_copyarr_aview r   Y/var/www/ai-form-bot/venv/lib/python3.9/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|sRJ | r|jdrfJ |jdrvJ t	|| 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   sV   t dg di}t|d}|jddd tt|d|s>J | rR|jdsRJ 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 | rT|jdsTJ 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   sn   t dg di}|jdd}| rN|jdr0J tt|dt|dsjJ ntt|dt|drjJ 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}| }| rt $ |d jdddd W d    n1 sP0    Y  t|| t & |dg jdddd W d    n1 s0    Y  t|| n$tjtdd	$ |d jdddd W d    n1 s0    Y  td R td
d & |dg jdddd W d    n1 s:0    Y  W d    n1 sZ0    Y  td X td
d , ||d dk jdddd W d    n1 s0    Y  W d    n1 s0    Y  d S )N)      r   r$   )r   br   r   T)r   zinplace method)matchzmode.chained_assignment)	r   r   r   Zraises_chained_assignment_errorr   r   Zassert_produces_warningFutureWarningr   )r   r   r    r   r   r   test_clip_chained_inplaceP   s"    
2
42Vr)   )numpyr   Zpandasr   r   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   r   r   r   r"   r#   r)   r   r   r   r   <module>   s   