a
    é´«j‚  ã                   @   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 … }|rjt ¡ � |jddd� W d   ƒ qx1 s^0    Y  n|jddd� | rÀt t|dƒ|¡r’J ‚|j 	d¡s¢J ‚|j 	d¡s²J ‚t 
||¡ nt t|dƒ|¡sÖJ ‚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   ú_/var/www/html/laksyashrimp/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_inplace0   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_clip;   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_opG   s    r$   c              	   C   sä  t g d¢ddœƒ}| ¡ }| r´t ¡ �$ |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 sš0    Y  t ||¡ �n,tjtsÀtnd dd	��$ |d jdddd� W d   ƒ n1 sô0    Y  t d ¡�R t	d
d ƒ�& |dg jdddd� W d   ƒ n1 �sB0    Y  W d   ƒ n1 �sb0    Y  t d ¡�X t	d
d ƒ�, ||d dk jdddd� W d   ƒ n1 �s¶0    Y  W d   ƒ n1 �sÖ0    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_warningr   ÚFutureWarningr   )r   r   r!   r   r   r   Útest_clip_chained_inplaceR   s(    
2
4
þ2Vr*   )Únumpyr   Zpandas.compatr   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   