
    bMh                     Z    d dl Zd dlmZmZ d dlmZ d dlm	Z	 d Z
d Zd Zd Zd Zd	 ZdS )
    N)	DataFrameoption_context)	get_arrayc                 v   t          dg di          }|                                }t          |d          }|d d          }|rCt          j                    5  |                    dd           d d d            n# 1 swxY w Y   n|                    dd           | rtt          j        t          |d          |          rJ |j        	                    d          sJ |j        	                    d          sJ t          j
        ||           d S t          j        t          |d          |          sJ 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views         `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/copy_view/test_clip.pytest_clip_inplace_referencer      s   	C%	&	&BggiiGb#Eaaa5D '"$$ 	+ 	+GG!TG***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	a&&& ;#Ib#$6$6>>>>>w((+++++y**1-----
gt,,,,,	"c 2 2E:::::::s   A;;A?A?c                    t          dg di          }|                                }t          |d          }|d d          }|                    dd           t	          j        t          |d          |          sJ | rO|j                            d          rJ |j                            d          rJ t          j	        ||           d S d S )Nr   r	   r   Tr   )
r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   s        r   !test_clip_inplace_reference_no_opr!      s    	C%	&	&BggiiGb#Eaaa5DGG!TG"""Ib#..66666 -7,,Q/////9..q11111
gt,,,,,- -    c                    t          dg di          }t          |d          }|                    dd           t          j        t          |d          |          sJ | r|j                            d          sJ d S d S r   )r   r   r   r   r   r   r   )r   r   r   s      r   test_clip_inplacer$   .   s    	C%	&	&Bb#EGG!TG"""Ib#..66666 ,w((+++++, ,++r"   c                 L   t          dg di          }|                                }|                    d          }t          j        t          |d          t          |d                    rJ | r|j                            d          sJ t          j	        ||           d S )Nr   r	   r
   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   df_origdf2s       r   	test_clipr)   9   s    	C%	&	&BggiiG
'''

C	#s 3 3Yr35G5GHHHHH ,w((+++++'2&&&&&r"   c                 d   t          dg di          }|                    d          }| rQ|j                            d          rJ t	          j        t          |d          t          |d                    sJ d S t	          j        t          |d          t          |d                    rJ d S )Nr   r	   r   r&   )r   r   r   r   r   r   r   )r   r   r(   s      r   test_clip_no_opr+   E   s    	C%	&	&B
'''

C M7,,Q/////	#s 3 3Yr35G5GHHHHHHH#Ic3$7$72s9K9KLLLLLLLr"   c                 Z   t          g ddd          }|                                }| rt          j                    5  |d                             ddd           d d d            n# 1 swxY w Y   t          j        ||           t          j                    5  |dg                             ddd           d d d            n# 1 swxY w Y   t          j        ||           d S t          j        t          d	          5  |d                             ddd           d d d            n# 1 swxY w Y   t          j        d           5  t          d
d           5  |dg                             ddd           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d           5  t          d
d           5  ||d         dk                                 ddd           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w 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'   s      r   test_clip_chained_inplacer4   P   s   	++	,	,BggiiG 9/11 	- 	-sGLLAtL,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
b'***/11 	/ 	/uINN1aN...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/
b'*****'=MNNN 	- 	-sGLLAtL,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- '-- 	3 	3 94@@ 3 3C5	q!T2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 '-- 	9 	9 94@@ 9 92c7Q;$$Q4$8889 9 9 9 9 9 9 9 9 9 9 9 9 9 9	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   A))A-0A- CCCD00D47D4F#  F F#F	F#F	F##F'*F'H )H<H H	H H	H  H$'H$)numpyr   pandasr   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r   r!   r$   r)   r+   r4    r"   r   <module>r;      s                     1 1 1 1 1 1; ; ;(- - -, , ,	' 	' 	'M M M9 9 9 9 9r"   