
    Eg[                         d dl mZ d dlZd dlZd dlmZmZ d dlm	c m
Z d dlZd dlmZmZmZmZmZmZ d dlmZ dZddZ G d d	          Z G d
 d          ZdS )    ascii_lettersN)SettingWithCopyErrorSettingWithCopyWarning)	DataFrameIndexSeries	Timestamp
date_rangeoption_contextzAA value is trying to be set on a copy of a slice from a DataFramed   c                     t           j                            d                              t	          t
                    | df          }|                    d           d |D             }t          |dg          S )N   )size   )axisc                 D    g | ]}t           |d          |d                  S )r   r   r   ).0xs     d/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/indexing/test_chaining_and_caching.py
<listcomp>zrandom_text.<locals>.<listcomp>   s)    888a}QqTAaD[)888    letterscolumns)nprandomdefault_rngintegerslenr   sortr   )nobsidxsstringss      r   random_textr%      sr    9  ##,,S-?-?tQi,PPDII1I884888GWyk2222r   c                   l    e Zd Zd Zej                            dddg          d             Zd Zd Z	dS )	TestCachingc                    t          dd           5  t          t          j        d          dgdz  d          }d|d<   |d          t	          j                    5  d|d         j        d	<   d d d            n# 1 swxY w Y   |                                 |s"t	          j        |d         d	         d           n!t	          j        |d         d	         d           d d d            d S # 1 swxY w Y   d S )
Nchained_assignment   皙@aabb        ccr.   g(\?r   )	r   r   r   arangetmraises_chained_assignment_erroriloc_clear_item_cacheassert_almost_equal)selfusing_copy_on_writedfs      r   ,test_slice_consolidate_invalidate_item_cachez8TestCaching.test_slice_consolidate_invalidate_item_cache$   s{   0$77 	9 	9")A,,seai@@AAB BtH tHH 355 ( (#'4a ( ( ( ( ( ( ( ( ( ( ( ( ( ( (  """& 9&r$x{D9999 &r$x{C888%	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s7   A	C(A7+C(7A;	;C(>A;	?AC((C,/C,do_refTFc                     g d}t          ||dd          |d d         z   t          j        d          d          }|r|j        d          d|j        d<   |j        d         dk    sJ |j        d         d	k    sJ d S )
N)onetwothreefourfivesixseven      abc)r   rI   r   )rE   rI   r/   g      ?)r   r   r1   loc)r7   r;   contr9   s       r   test_setitem_cache_updatingz'TestCaching.test_setitem_cache_updating:   s     GFFTQRR48(;")A,,OOPP  	F6NN vvf~$$$$vf~$$$$$$r   c                 z   t          dg dit          dd                    }t          dg dit          dd                    }t          g dg dd	          }t          d          }t          d          }|                                D ]7\  }}	|j        |||	d
         f         |	d         z   |j        |||	d
         f<   8t          j        ||           t          j        |d         |d                    t          dg dit          dd                    }|                                }
|                                D ]k\  }}	||	d
                  ||         |	d         z   }t          j	        |dk    p|p|          5  |||	d
                  ||<   d d d            n# 1 swxY w Y   l|s7t          j        ||           t          j        |d         |d                    n6t          j        ||
           t          j        |d         |
d                    t          dg dit          dd                    }|                                D ]*\  }}	|j        |||	d
         fxx         |	d         z  cc<   +t          j        ||           t          j        |d         |d                    d S )NA)X  rO   rO   z5/7/2014z5/9/2014)index)r   r   r   )rN   rN   rN   )r      i,  )CDrR   rS   r   )
r   r   r
   iterrowsrJ   r2   assert_frame_equalassert_series_equalcopyr3   )r7   r8   warn_copy_on_writeexpectedoutr9   rB   eixixrowout_originalvs               r   "test_setitem_cache_updating_slicesz.TestCaching.test_setitem_cache_updating_slicesK   s'   
 ///"*Z*L*L
 
 
 iii(
:z0R0RSSS___???CCDD 
##
##{{}} 	O 	OGB),S#c(1B)Cc#h)NCGCGSX%&&
c8,,,
s3x#777 iii(
:z0R0RSSSxxzz{{}} 	+ 	+GBCHc#g&S1A3qF/F3F  + + *+CHc#g&+ + + + + + + + + + + + + + +
 # 	@!#x000"3s8Xc];;;;!#|444"3s8\#->???iii(
:z0R0RSSS{{}} 	3 	3GBGCGSX%&&&#c(2&&&&
c8,,,
s3x#77777s   F((F,	/F,	c                    t          ddgddggddgddg	          }|d         }|s|rd|j        vsJ nd|j        v sJ d
|d<   t          |          dk    sJ d|j        vsJ |d         |usJ t          |d                   dk    sJ d S )Nr   r   rD      rG   rH   rN   B)rP   r   r*   rI   )r   _item_cacher    )r7   r8   rX   r9   sers        r   (test_altering_series_clears_parent_cachez4TestCaching.test_altering_series_clears_parent_cachex   s     AA'SzC:NNNg 	)"4 	)bn,,,,,".(((( C3xx1}}}}".((((#wc!!!!2c7||q      r   N)
__name__
__module____qualname__r:   pytestmarkparametrizerL   r`   rf    r   r   r'   r'   #   st        9 9 9, [Xe}55% % 65% +8 +8 +8Z! ! ! ! !r   r'   c            	       :   e Zd Zd Zej        j        d             Zej        j        d             Zej        j        d             Z	ej        j        d             Z
ej        j        d             Zej        j        d             Zej        j        d             Zej        j        d	             Zej        j        d
             Zej        j        d             Zej        j        d             Zej        j        d             Zej        j        d             Zej        j        d             Zej        j        d             Zd Zd Zd Zej                            dd edg di          g          d             Zej        d             Zd Zd Z d Z!d Z"dS )TestChainingc                 (   g d}g d}t          dt          j        |          i          }|j        dk    }t	          j                    5  d|j        |<   d d d            n# 1 swxY w Y   |r%t	          j        |t          d|i                     n$t	          j        |t          d|i                     t          j                            |gdg          }t          |          }|j        dk    }t	          j                    5  d|j        |<   d d d            n# 1 swxY w Y   |r%t	          j        |t          d|i                     n$t	          j        |t          d|i                     t          ||d          }|	                                }|j        dk    }t	          j                    5  d|j        |<   d d d            n# 1 swxY w Y   |rt	          j        ||           n%t	          j        |t          ||d                     t          dt          j
        d	d
dd	gi          }t          dt          j        g d          i          }t	          j                    5  t          j
        |d         j        d<   d d d            n# 1 swxY w Y   |rt          dg di          }n t          dt          j
        d	d
dd	gi          }|                                }	t	          j        |	|           t          dt          j        g d          i          }t	          j                    5  t          j
        |j        j        d<   d d d            n# 1 swxY w Y   |                                }	t	          j        |	|           d S )N)rightleftrr   rr   rq   rr   timeout)rq   rr   rr   rr   rq   rr   noneresponsers   rt   )names)ru   	response1rN   barbahfoo)rz   rx   ry   rz   rx   r   )r   r   arrayru   r2   r3   rU   rec
fromarraysrW   nanr4   headrN   )
r7   r8   datamdatar9   maskrecarraydf_originalrY   results
             r   test_setitem_chained_setfaultz*TestChaining.test_setitem_chained_setfault   s   LLLJJJ
BHTNN344{i'/11 	' 	' &BK	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	F!"iT0B&C&CDDDD!"iU0C&D&DEEE6$$dVJ<$@@x  {i'/11 	' 	' &BK	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	F!"iT0B&C&CDDDD!"iU0C&D&DEEEDt<<==ggii{i'/11 	' 	' &BK	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	Y!"k2222!"iUQU0V0V&W&WXXX cBFE5%#GHIIRX&I&I&IJJKLL/11 	% 	% fBsGLO	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	N #'J'J'J!KLLHH #ueU'K!LMMH
fh///RX&I&I&IJJKLL/11 	" 	"6BDIaL	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
fh/////sZ   
A!!A%(A%DD"%D"8GGG/JJJ8MM"%M"c                    t          dd          5  t          ddgddggt          d                    }t          t          j        d	                              d
d
          t          d          d          }|                                }|j        J t          j	                    5  d|d         d<   d d d            n# 1 swxY w Y   t          j	                    5  d|d         d<   d d d            n# 1 swxY w Y   |rt          j
        ||           nt          j
        ||           d d d            d S # 1 swxY w Y   d S )Nr)   raiser   rD   ABr   rb   r   int64)r   dtyperN   r   )r   r   listr   r1   reshaperW   _is_copyr2   r3   rU   )r7   r8   rY   r9   r   s        r   test_detect_chained_assignmentz+TestChaining.test_detect_chained_assignment   s   0':: 	4 	4 2q'B7!3T$ZZHHHH	!$$Q**DJJg  B ''))K;&&&355    3
                             355    3
                             " 4%b+6666%b(333!	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4sZ   BD>+C7D>C	D>
C	D>!C9-D>9C=	=D> C=	0D>>EEc           	         t          t          t          d          d          t          j        t          j        dd          t          j                  d          }|                                }|j        J |rt          j
                    5  d|d         d<   d d d            n# 1 swxY w Y   t          j
                    5  d	|d         d
<   d d d            n# 1 swxY w Y   t          j        ||           d S |ryt          j
                    5  d|d         d<   d d d            n# 1 swxY w Y   t          j
                    5  t          j        |d         d
<   d d d            d S # 1 swxY w Y   d S |st          j        t          t                     5  t          j
                    5  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        t          t                     5  t          j
                    5  t          j        |d         d
<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |d         j        J d S d|d         d<   d	|d         d
<   t          ddgd	dggt#          d                    }|d                             d          |d<   t          j        ||           d S )Nr   r   r   rb   rN   rc   r   rN   r   r   r   matchrD   r   r   rc   float64)r   r	   ranger   r{   r1   r   rW   r   r2   r3   rU   r~   rj   raisesr   msgr   astype)r7   using_array_managerr8   rX   r9   r   rY   s          r   %test_detect_chained_assignment_raisesz2TestChaining.test_detect_chained_assignment_raises   s   
 E!HHG444Xbi1ooRZ@@@ 
 
 ggii{""" 	0355    3
                             355    3
                             !"k22222 	0355    3
                             355 $ $V3
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$ 	033??? $ $799 $ $!#BsGAJ$ $ $ $ $ $ $ $ $ $ $ $ $ $ $$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 33??? ( (799 ( (!#BsGAJ( ( ( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( ( ( ( c7#+++++ BsGAJBsGAJ 2q'B7!3T$ZZHHHH$SM00;;HSM!"h/////s   B**B.1B.C  C$'C$D//D36D3E00E47E4G"3G?G"G	G"G	G""G&)G&I!I7II	I
I	II!Ic           	         t          t          t          d          d          t          j        t          j        dd          t          j                  d          }|s|r>t          j                    5  d|j	        d         d<   d d d            d S # 1 swxY w Y   d S t          j        t          t          	          5  d|j	        d         d<   d d d            d S # 1 swxY w Y   d S )
Nr   r   r   rb   r   r   r   rN   r   )r   r	   r   r   r{   r1   r   r2   r3   rJ   rj   r   r   r   r7   r8   rX   r9   s       r   $test_detect_chained_assignment_failsz1TestChaining.test_detect_chained_assignment_fails  sp   
 E!HHG444Xbi1ooRZ@@@ 
 
  	$"4 	$355 $ $!#q	#$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 33??? $ $!#q	#$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s$   7BBBC  C$'C$c                    t          g dt          t          d          d          d          }|j        J |j        j                            d          }|s|r9t          j                    5  d||         d<   d d d            d S # 1 swxY w Y   d S t          j
        t          t          	          5  d||         d<   d d d            d S # 1 swxY w Y   d S )
N)r=   r=   r>   r?   r>   r=   rB   rE   r   r   )rG   rI   o*   rI   r   )r   r	   r   r   rG   str
startswithr2   r3   rj   r   r   r   r7   r8   rX   r9   indexers        r   *test_detect_chained_assignment_doc_examplez7TestChaining.test_detect_chained_assignment_doc_example  s~   
 HHHE!HHG444 
 
 {"""$(%%c** 	&"4 	&355 & &#%7C & & & & & & & & & & & & & & & & & & 33??? & &#%7C & & & & & & & & & & & & & & & & & &s$   0B		BB6CCCc                    t          g dg dd          }t          t          g dt                    g dd          }|                                }|sJ|sHt	          j        t          t                    5  d|j        d         d	<   d d d            n# 1 swxY w Y   |rMt          j
                    5  d|d	         d<   d d d            n# 1 swxY w Y   t          j        ||           d S |rMt          j
                    5  d|d	         d<   d d d            n# 1 swxY w Y   t          j        ||           d S |st	          j        t          t                    5  t          j
                    5  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   d|j        d
<   t          j        ||           d S d|d	         d<   t          j        ||           d S )N)o   bbbcccr   r   rD   r   aaar   r   r   r   r   r   rN   )r   rN   )r   r	   objectrW   rj   r   r   r   rJ   r2   r3   rU   )r7   r   r8   rX   rY   r9   r   s          r   +test_detect_chained_assignment_object_dtypez8TestChaining.test_detect_chained_assignment_object_dtype*  sG    #6#6#6YYYGGHH...f===IIINN
 
 ggii" 	%+= 	%33??? % %!$q	#% % % % % % % % % % % % % % %  	0355 ! ! 3
! ! ! ! ! ! ! ! ! ! ! ! ! ! !!"k22222 	0355 ! ! 3
! ! ! ! ! ! ! ! ! ! ! ! ! ! !!"h/////$ 	033??? % %799 % %!$BsGAJ% % % % % % % % % % % % % % %% % % % % % % % % % % % % % % !BF6N!"h///// BsGAJ!"h/////sl   9BBB6CCCDD!$D!!F$5FF$F	F$F	F$$F(+F(c                    t          dddgi          }|j        J t          j        d          5 }|                    |           t          j        |          }|d         |d<   |d         |d<   d d d            d S # 1 swxY w Y   d S )NrN   r   r   __tmp__picklerc   )r   r   r2   ensure_clean	to_picklepdread_pickle)r7   r9   pathdf2s       r   -test_detect_chained_assignment_is_copy_picklez:TestChaining.test_detect_chained_assignment_is_copy_pickleM  s     aV}%%{"""__-- 	 LL.&&C3xCH3xCH		  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   A A>>BBc                 Z   t          d          }|j        g d         }|j        J |j        g d         }|j        J |j                            d           }|j        |                                         }|j        J |d                             t          j                  |d<   d S )N順 )r   r   r   )r   r   r   rb   c                 (    t          |           dk    S N
   r    r   s    r   <lambda>zSTestChaining.test_detect_chained_assignment_setting_entire_column.<locals>.<lambda>g      SVVb[ r   r   )	r%   r4   r   r   applyrJ   rW   r   lower)r7   r9   r   r   s       r   4test_detect_chained_assignment_setting_entire_columnzATestChaining.test_detect_chained_assignment_setting_entire_columnY  s        GIIIz%%%GLLL!z%%% *""#8#899VG_!!##{"""9++CI669r   c                     t          d          }|j                            d           }|j        |         }|j        J |d                             t
          j                  |d<   d S )Nr   c                 (    t          |           dk    S r   r   r   s    r   r   zKTestChaining.test_detect_chained_assignment_implicit_take.<locals>.<lambda>q  r   r   r   )r%   r   r   rJ   r   r   r   r7   r9   r   s      r   ,test_detect_chained_assignment_implicit_takez9TestChaining.test_detect_chained_assignment_implicit_takem  sd       *""#8#899VG_{&&&9++CI669r   c                    |s|rt          j        d           t          d          }|j                            d           }|j        |         }|j        J |d                             t          j                  |j        d d df<   |j        J |d                             t          j                  |d<   |j        J d S )Nz"_is_copy is not always set for CoWr   c                 (    t          |           dk    S r   r   r   s    r   r   zLTestChaining.test_detect_chained_assignment_implicit_take2.<locals>.<lambda>  r   r   r   )	rj   skipr%   r   r   rJ   r   r   r   r   s        r   -test_detect_chained_assignment_implicit_take2z:TestChaining.test_detect_chained_assignment_implicit_take2w  s      	>"4 	>K<===  *""#8#899VG_{&&&!)}2239==qqq)| {&&&9++CI669{"""""r   c                     t          d          }|j                            d           }|j        |df                             t          j                  |j        |df<   d S )Nr   c                 (    t          |           dk    S r   r   r   s    r   r   zATestChaining.test_detect_chained_assignment_str.<locals>.<lambda>  r   r   r   )r%   r   r   rJ   r   r   r   s      r   "test_detect_chained_assignment_strz/TestChaining.test_detect_chained_assignment_str  s[      *""#8#899%'VGY,>%?%E%Eci%P%Pw	!"""r   c                     t          ddgi                                          }|j        J |dxx         dz  cc<   d S )NrG   r   )r   dropnar   r7   r9   s     r   &test_detect_chained_assignment_is_copyz3TestChaining.test_detect_chained_assignment_is_copy  sJ     aSz""))++{"""
31r   c                    t          t          j                            d                              d                    }|j        d d df                                         }t          j        ||j        d d df                                                    t          j        ||d                                                    d S )Nr   r   rb   r   )	r   r   r   r   standard_normalr4   sort_valuesr2   rV   )r7   r9   re   s      r   &test_detect_chained_assignment_sortingz3TestChaining.test_detect_chained_assignment_sorting  s    ry,,Q//??HHIIgaaadm''))
sBGAAAqDM$=$=$?$?@@@
sBqE$5$5$7$788888r   c                    t          g dg dd          }t          |           |d         dz   |d<   t          |           ||d         dk             }t          |           |d         dz   |d<   t          |           d S )	N)rG   rG   rG   )rb      	   )column1column2r   rH   r   r   rI   )r   r   r   s     r   .test_detect_chained_assignment_false_positivesz;TestChaining.test_detect_chained_assignment_false_positives  s     ???yyyIIJJB9+9B9"#B9+9Br   c                    t          t          j        dd          dg          }d|d<   |                                }|rTt	          j                    5  d|j        dd         d<   d d d            n# 1 swxY w Y   t	          j        ||           d S |r@t	          j                    5  d|j        dd         d<   d d d            d S # 1 swxY w Y   d S t          j	        t          t          	          5  t	          j                    5  d|j        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 )
Nr   r   countr   rH   grouprG   r*   r   )r   r   r1   rW   r2   r3   r4   rU   rj   r   r   r   )r7   r8   rX   r9   r   s        r   /test_detect_chained_assignment_undefined_columnz<TestChaining.test_detect_chained_assignment_undefined_column  sT    ryA	:::7ggii 
	0355 , ,(+!W%, , , , , , , , , , , , , , ,!"k22222 	0355 , ,(+!W%, , , , , , , , , , , , , , , , , , 33??? 0 0799 0 0,/BGAaCL)0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sZ   A33A7:A7*C

CC7ED*E*D.	.E1D.	2EE	Ec                 8   t          t          dd          t          j                            d                              d          t          j        dd          g dd          }|                                }|s|rt          j	                    5  d	|j
        d         d
<   d d d            n# 1 swxY w Y   t          j	                    5  d	|j
        d         d<   d d d            n# 1 swxY w Y   t          j        ||           t          j	        t          f          5  d	|d         d<   d d d            n# 1 swxY w Y   |rt          j        ||           d S |j
        d         d	k    sJ d S t          j        t          t                     5  d	|j
        d         d
<   d d d            n# 1 swxY w Y   t          j        t          t                     5  d	|j
        d         d<   d d d            n# 1 swxY w Y   |sqt          j        t          t                     5  t          j	                    5  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 d	|d         d<   |j
        d         d	k    sJ d S )N20130101r*   )periodsr   r   r   rG   rH   rI   de)rN   rc   rR   rS   rz   rS   rR   )extra_warnings)r   rR   r   )r   r   r   r   r   r   r1   rW   r2   r3   rJ   rU   FutureWarningrj   r   r   r   )r7   r   r8   rX   r9   r   s         r   -test_detect_chained_assignment_changing_dtypez:TestChaining.test_detect_chained_assignment_changing_dtype  sO   
 
A666Y**1--==a@@Yq000...	 
 
 ggii 	/"4 	/355 ' '!&q	#' ' ' ' ' ' ' ' ' ' ' ' ' ' '355 ' '!&q	#' ' ' ' ' ' ' ' ' ' ' ' ' ' '!"k2223MCSTTT # #"3
# # # # # # # # # # # # # # #" /%b+66666vf~......33??? ' '!&q	#' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 33??? ' '!&q	#' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' /]#7sCCC + +;== + +%*3
+ + + + + + + + + + + + + + ++ + + + + + + + + + + + + + + + + + #3
vf~......s   B22B69B6C--C14C1(E  EEF66F:=F:!G>>HH+I/?II/I	I/I	I//I36I3c                    t          t          t          d                    t          d          ddt          j        dgd          }|                                }t          j        |j                  }|r[t          j
                    5  |dg         |         |dg         |<   d d d            n# 1 swxY w Y   t          j        ||           d S |rGt          j
                    5  |dg         |         |dg         |<   d d d            d S # 1 swxY w Y   d S t          j        t          t                    5  |dg         |         |dg         |<   d d d            d S # 1 swxY w Y   d S )	Nrb   zab..rG   rH   r   rF   rI   r   )r   r   r   r   r~   rW   r   isnarI   r2   r3   rU   rj   r   r   r   )r7   r8   rX   r9   r   r   s         r   test_setting_with_copy_bugz'TestChaining.test_setting_with_copy_bug  s    uQxx..tF||3RVS:QRR
 
 ggiiwrt}} 		2355 2 2"$cU)D/C5	$2 2 2 2 2 2 2 2 2 2 2 2 2 2 2!"k22222 	2355 2 2"$cU)D/C5	$2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 33??? 2 2"$cU)D/C5	$2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s6   B11B58B5(DDD<E##E'*E'c                     t          t          g d          t          g d          d          }|dg         }g d|d<   d S )NrF   )r   r   f)r   yr   )ghir   )r   r	   )r7   df1r   s      r   %test_setting_with_copy_bug_no_warningz2TestChaining.test_setting_with_copy_bug_no_warning  sO     f___55F???<S<STTUU3%j #??Cr   c                 h   t          g dg dd          }|s|r=t          j                    5  d|j        d         d<   d d d            n# 1 swxY w Y   d S t	          dd          5  t          j        t                    5  d|j        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	          dd	          5  t          j        t          t          
          5  d|j        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 )Nr   r   r   r   r   rN   r)   warnr   r   )r   r2   r3   rJ   r   assert_produces_warningr   rj   r   r   r   r   s       r   .test_detect_chained_assignment_warnings_errorsz;TestChaining.test_detect_chained_assignment_warnings_errors  sy    222CCDD 	"4 	355 % %!$q	#% % % % % % % % % % % % % % %F0&99 	% 	%+,BCC % %!$q	#% % % % % % % % % % % % % % %	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 0':: 	% 	%33??? % %!$q	#% % % % % % % % % % % % % % %	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s}   AAA(B6BB6B#	#B6&B#	'B66B:=B:!D'2DD'D	D'D	D''D+.D+rhsrD   r   )r   r   rD   rb   c                    t          t          j        d                              dd                    }|                                }|j        d d         }t          dd          5  |sR|sPt          j        t                    5 }||d<   |d         j
        t          k    sJ 	 d d d            n# 1 swxY w Y   n||d<   t          j        ||           d d d            d S # 1 swxY w Y   d S )N   r*   rD   r)   r   r   r   )r   r   r1   r   rW   rJ   r   r2   r   r   filename__file__rU   )r7   r   r8   rX   r9   r   chainedts           r   1test_detect_chained_assignment_warning_stacklevelz>TestChaining.test_detect_chained_assignment_warning_stacklevel  sp   
 ry}},,Q2233ggii&!*0&99 	7 	7& 7/A 7/0FGG 51!$GAJQ4=H444445 5 5 5 5 5 5 5 5 5 5 5 5 5 5
 !
%b+666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s6   )C%B2&C%2B6	6C%9B6	:C%%C),C)c                    t          dt          j        d          gz  dt          j        d          gz  d          }|d         j        d         }|j        d         }t          j        ||           |j        d         d         }t          j        ||           |d         j        d         }t          j        ||           |d         j        d         }t          j        ||           d S )Nr*   rD   r   rN   r   )r   rN   )r   r   zerosonesr4   rJ   r2   assert_numpy_array_equal)r7   r9   rY   r   result2result3result4s          r   test_chained_getitem_with_listsz,TestChaining.test_chained_getitem_with_lists2  s     Q"(1++.Q"'!**5EFFGGc7<?
#FH555'!*S/
#GX666S'+a.
#GX666S',q/
#GX66666r   c                    t          t          j        d          t          t	          d          t
                              }|d          |j        d         |j        d<   d|d         j        v sJ d|d         j        v sJ d S )	Nr   ABCDr   r   rN   r   zHello Friendrc   )	r   r   r  r   r   r   r4   rJ   rP   r   s     r   test_cache_updatingz TestChaining.test_cache_updatingC  s     HW$v,,f555
 
 
 	3!#~C....C......r   c                    t          t          j        dd          g dt          d                    }d|d<   |                                }|rYt          j        t          d	
          5  d|j        j	        d<   d d d            n# 1 swxY w Y   t          j        ||           d S d|j        j	        d<   d|j        j	        d<   t          t          j        dd          g dt          d                    }d|j        d<   t          j        ||           t          g dd          }t          j        |j        |           d S )N)r*   r*   r   r   r   r*   )r   rP   r   r   z	read-onlyr   r   rD   r   )r*      )rG   rH   rI   r   r   r   )rD   r   )r   r   r   r   r   name)r   r   r  r   rW   rj   r   
ValueErrorr   valuesr2   rU   atr	   rV   )r7   r8   r9   df_origrY   s        r   test_cache_updating2z!TestChaining.test_cache_updating2O  s   HV7+++---((
 
 

 3'')) 	z=== # #!"A# # # # # # # # # # # # # # #!"g...FAAHV7+++222((
 
 

  F
b(+++///444
rtX.....s   ,BBBc                 >   t          dd           5  t          t          d          dgdz  d          }d|d<   dgt          |          z  }t	          j                    5  d|d	         j        d
<   d d d            n# 1 swxY w Y   |j        |          t	          j                    5  d|d	         j        d
<   d d d            n# 1 swxY w Y   |s|d	         j        d
         dk    sJ n|d	         j        d
         dk    sJ d d d            d S # 1 swxY w Y   d S )Nr)   r*   r+   r,   r/   r0   Tgp=
ף?r.   r   g333333?)r   r   r   r    r2   r3   r4   )r7   r8   r9   cks       r   $test_iloc_setitem_chained_assignmentz1TestChaining.test_iloc_setitem_chained_assignmentk  s   0$77 	/ 	/%((3%!)<<==BBtH#b''!B355 ( (#'4a ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( GBKK355 ( (#'4a ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ' /$x}Q'4/////$x}Q'3....%	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/sZ   AD A=1D=B	DB	#D(C9DC			DC		8DDDc                 F   t          dg di          }t          j                    5  d|d         j        d<   d d d            n# 1 swxY w Y   t          j        |t          dg di                     t          j        |d         t          g dd                     d S )NrG   )r         (   rb   r  )r   r2   r3   rJ   rU   rV   r	   r   s     r   'test_getitem_loc_assignment_slice_statez4TestChaining.test_getitem_loc_assignment_slice_state  s    \\\*++/11 	  	 BsGKN	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
b)S,,,,?"@"@AAA
r#w|||#(F(F(FGGGGGs   AAAN)#rg   rh   ri   r   rj   rk   arm_slowr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rl   r   r  td&skip_array_manager_not_yet_implementedr  r  r  r  r   rm   r   r   ro   ro      s       20 20 20h [4 4 4& [)0 )0 )0V [$ $ $$ [& & &( [ 0  0  0D [	  	  	  [7 7 7& [7 7 7 [# # #( [Q Q Q
 [   [9 9 9 [   [0 0 0* [)/ )/ )/V2 2 2&# # #% % %" [UQ		1lll2C(D(D$EFF7 7 GF7$ .7 7 /.7 
/ 
/ 
// / /8/ / /,H H H H Hr   ro   )r   )stringr   numpyr   rj   pandas.errorsr   r   pandas.util._test_decoratorsutil_test_decoratorsr"  pandasr   r   r   r	   r
   r   r   pandas._testing_testingr2   r   r%   r'   ro   rm   r   r   <module>r-     sq                           * ) ) ) ) ) ) ) )                         I3 3 3 3g! g! g! g! g! g! g! g!TzH zH zH zH zH zH zH zH zH zHr   