
    Pi1                         d dl mZ d dlZd dl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  G d d          Z G d d          ZdS )    ascii_lettersN)	DataFrameIndexSeries	Timestamp
date_rangeoption_contextc                   `    e Zd Zej                            dddg          d             Zd ZdS )TestCaching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   r      )r   r           g      ?)r   nparangeloc)selfr   contdfs       /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/indexing/test_chaining_and_caching.py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~$$$$$$    c                    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 ]b\  }}||d
                  ||         |d         z   }	t          j	                    5  |	||d
                  ||<   d d d            n# 1 swxY w Y   ct          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  r)   r)   z5/7/2014z5/9/2014)index)r   r   r   )r(   r(   r(   )d      i,  )CDr-   r.   )
r   r	   r   iterrowsr    tmassert_frame_equalassert_series_equalcopyraises_chained_assignment_error)
r!   expectedoutr#   r   eixixrowout_originalvs
             r$   "test_setitem_cache_updating_slicesz.TestCaching.test_setitem_cache_updating_slices$   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55 + +)*CHc#g&+ + + + + + + + + + + + + + + 	c<000
s3xc):;;;iii(
:z0R0RSSS{{}} 	3 	3GBGCGSX%&&&#c(2&&&&
c8,,,
s3x#77777s   ?FF#	&F#	N)__name__
__module____qualname__pytestmarkparametrizer%   r<    r&   r$   r   r      sS        [Xe}55% % 65% #8 #8 #8 #8 #8r&   r   c            	       x   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d Zd Zd Zej                            dd edg di          g          d             Zd Zd Zd Zd Zd ZdS )TestChainingc                    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   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   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   t	          j        ||           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   t          dg d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leftrH   rH   rG   rH   timeoutresponserI   none)names)rJ   	response1r(   barbahfoo)rP   rN   rO   rP   rN   r   )r   r   arrayrJ   r0   r4   r1   rec
fromarraysr3   nanilocheadr(   )r!   datar#   maskrecarraydf_originalr5   results           r$   test_setitem_chained_setfaultz*TestChaining.test_setitem_chained_setfaultK   s   LLL
BHTNN344{i'/11 	' 	' &BK	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'
b)Z,>"?"?@@@6$$dVJ<$@@x  {i'/11 	' 	' &BK	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'
b)Z,>"?"?@@@Dt<<==ggii{i'/11 	' 	' &BK	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'
b+... cBFE5%#GHIIRX&I&I&IJJKLL/11 	% 	% fBsGLO	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%c#F#F#FGHH
fh///RX&I&I&IJJKLL/11 	" 	"6BDIaL	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
fh/////sZ   AA!$A!C33C7:C7&E==FF5HH #H KKKc                    t          dd          5  t          t          j        d                              dd          t          d          d          }|                                }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   t          j	        ||           d d d            d S # 1 swxY w Y   d S )Nchained_assignmentraise      ABint64)columnsdtyper(   r   r   )
r
   r   r   r   reshapelistr3   r0   r4   r1   r!   r#   rZ   s      r$   test_detect_chained_assignmentz+TestChaining.test_detect_chained_assignmentr   s   0':: 	3 	3	!$$Q**DJJg  B ''))K355    3
                             355    3
                             !"k222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3sZ   A-C9>B
C9B	C9B	C94C C9C	C9C	C99C= C=c           	         t          t          t          d          d          t          j        t          j        dd          t          j                  d          }|                                }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   t          j
        ||           d S )Nra   rc   re   r`   r(   Brf   r(   r   rg   r   )r   r   ranger   rQ   r   float64r3   r0   r4   r1   rj   s      r$   %test_detect_chained_assignment_raisesz2TestChaining.test_detect_chained_assignment_raises   s[    E!HHG444Xbi1ooRZ@@@ 
 
 ggii/11 	 	BsGAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	/11 	 	BsGAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
b+.....s$   BB#&B#=CCCc           	      <   t          t          t          d          d          t          j        t          j        dd          t          j                  d          }t          j                    5  d|j	        d         d<   d d d            d S # 1 swxY w Y   d S )	Nra   rc   rm   r`   rn   rf   r   r(   )
r   r   rp   r   rQ   r   rq   r0   r4   r    r!   r#   s     r$   $test_detect_chained_assignment_failsz1TestChaining.test_detect_chained_assignment_fails   s     E!HHG444Xbi1ooRZ@@@ 
 
 /11 	  	 BF1IcN	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   3BBBc                    t          g dt          t          d          d          d          }|j        j                            d          }t          j                    5  d||         d<   d d d            d S # 1 swxY w Y   d S )	N)r   r   r   r   r   r   r   r   rc   rm   )r   r   o*   r   )r   r   rp   r   str
startswithr0   r4   )r!   r#   indexers      r$   *test_detect_chained_assignment_doc_examplez7TestChaining.test_detect_chained_assignment_doc_example   s     HHHE!HHG444 
 
 $(%%c**/11 	" 	"!BwK	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   #A<<B B c                    t          t          g dt                    g dd          }|                                }t	          j                    5  d|d         d<   d d d            n# 1 swxY w Y   t	          j        ||           d S )Naaabbbcccrm   r   ra   r   rn   o   r(   r   )r   r   objectr3   r0   r4   r1   rj   s      r$   +test_detect_chained_assignment_object_dtypez8TestChaining.test_detect_chained_assignment_object_dtype   s    ...f===IIINN
 
 ggii/11 	 	BsGAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
b+.....s   A**A.1A.c                     t          dddgi          }t          |          }|                    |           t          j        |          }|d         |d<   |d         |d<   d S )Nr(   r   ra   ro   )r   ry   	to_picklepdread_pickle)r!   	temp_filer#   pathdf2s        r$   -test_detect_chained_assignment_is_copy_picklez:TestChaining.test_detect_chained_assignment_is_copy_pickle   sc     aV}%%9~~
TnT""s8Cs8Cr&   c                    t           j                            d                              t	          t
                    d          }|                    d           d |D             }t          |dg          }|j        	                    d	           }|j
        |df         	                    t          j                  |j
        |df<   d S )
Nra   )r+   ra   )sizer   )axisc                 D    g | ]}t           |d          |d                  S )r   r   r   ).0xs     r$   
<listcomp>zCTestChaining.test_detect_chained_assignment_str.<locals>.<listcomp>   s)    <<<!=1!-<<<r&   lettersrd   c                 (    t          |           dk    S )N
   )len)r   s    r$   <lambda>zATestChaining.test_detect_chained_assignment_str.<locals>.<lambda>   s    SVVb[ r&   )r   randomdefault_rngintegersr   r   sortr   r   applyr    ry   lower)r!   idxsstringsr#   r{   s        r$   "test_detect_chained_assignment_strz/TestChaining.test_detect_chained_assignment_str   s    y$$Q''00]1C1C(0SS		q	<<t<<<w444*""#8#899%'VGY,>%?%E%Eci%P%Pw	!"""r&   c                    t          t          j                            d                              d                    }|j        d d df                                         }t          j        ||j        d d df                                                    t          j        ||d                                                    d S )Nra   r   r`   r   )	r   r   r   r   standard_normalrU   sort_valuesr0   r2   )r!   r#   sers      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)r   r   r   )r`      	   )column1column2r   r   r   r   r   )r   ry   rt   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<   |                                }t	          j                    5  d|j        dd         d<   d d d            n# 1 swxY w Y   t	          j        ||           d S )	Nr   r   countr   r   groupr      )r   r   r   r3   r0   r4   rU   r1   rj   s      r$   /test_detect_chained_assignment_undefined_columnz<TestChaining.test_detect_chained_assignment_undefined_column   s     ryA	:::7ggii/11 	( 	($'BGAaCL!	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(
b+.....s   A11A58A5c                    t          t          dd          t          j                            d                              d          t          j        dd          g dd          }|                                }t          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          d          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 )N20130101r   )periodsra   rc   rm   r   r   r   de)r(   ro   r-   r.   rP   r.   r-   zInvalid valuematch)r   r	   r   r   r   r   r   r3   r0   r4   r    r1   r@   raises	TypeErrorrj   s      r$   -test_detect_chained_assignment_changing_dtypez:TestChaining.test_detect_chained_assignment_changing_dtype   s[    
A666Y**1--==a@@Yq000...	 
 
 ggii/11 	# 	#"BF1IcN	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#/11 	# 	#"BF1IcN	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#
b+...]9O<<< 	# 	#355 # #"3
# # # # # # # # # # # # # # #	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#sZ   B..B25B2C))C-0C-$E(8EE(E	E(E	E((E,/E,c                    t          t          t          d                    t          d          ddt          j        dgd          }|                                }t          j        |j                  }t          j
                    5  |dg         |         |dg         |<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nr`   zab..r   r   r   r   r   )r   ri   rp   r   rT   r3   r   isnar   r0   r4   r1   )r!   r#   rZ   rX   s       r$   test_setting_with_copy_bugz'TestChaining.test_setting_with_copy_bug  s    uQxx..tF||3RVS:QRR
 
 ggiiwrt}}/11 	. 	. #ioBuIdO	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
b+.....s   	B//B36B3c                     t          t          g d          t          g d          d          }|dg         }g d|d<   d S )Nr   )r   r   f)r   yr   )ghir   )r   r   )r!   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                     t          g dg dd          }t          j                    5  d|j        d         d<   d d d            d S # 1 swxY w Y   d S )Nr~   r   rn   r   r   r(   )r   r0   r4   r    rt   s     r$   .test_detect_chained_assignment_warnings_errorsz;TestChaining.test_detect_chained_assignment_warnings_errors  s    222CCDD/11 	! 	! BF1IcN	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   AAArhsr   r   )r   ra   r   r`   c                     t          t          j        d                              dd                    }|                                }|j        d d         }||d<   t          j        ||           d S )N   r   r   ra   )r   r   r   rh   r3   r    r0   r1   )r!   r   r#   rZ   chaineds        r$   1test_detect_chained_assignment_warning_stacklevelz>TestChaining.test_detect_chained_assignment_warning_stacklevel  sg     ry}},,Q2233ggii&!*

b+.....r&   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   r   rn   r(   ra   )ra   r(   )r   r   zerosonesrU   r    r0   assert_numpy_array_equal)r!   r#   r5   r[   result2result3result4s          r$   test_chained_getitem_with_listsz,TestChaining.test_chained_getitem_with_lists'  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   ABCDrm   r   r(   r   zHello Friendro   )	r   r   r   r   ri   r   rU   r    r*   rt   s     r$   test_cache_updatingz TestChaining.test_cache_updating7  s     HW$v,,f555
 
 
 	3!#~C....C......r&   c                 P   t          t          j        dd          g dt          d                    }d|d<   |                                }t          j        t          d	
          5  d|j        j	        d<   d d d            n# 1 swxY w Y   t          j        ||           d S )N)r   r   rc   rm   r   r   )rd   r*   r   r   z	read-onlyr   r   r   )r   r   r   rp   r3   r@   r   
ValueErrorr   valuesr0   r1   )r!   r#   df_origs      r$   test_cache_updating2z!TestChaining.test_cache_updating2C  s    HV7+++---((
 
 

 3''))]:[999 	 	BDKN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
b'*****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   |d	         j        d
         dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr^   r   g@)aabbr   ccTgp=
ף?r   r   g333333?)r
   r   rp   r   r0   r4   rU   )r!   r#   cks      r$   $test_iloc_setitem_chained_assignmentz1TestChaining.test_iloc_setitem_chained_assignmentP  s   0$77 	+ 	+%((3%!)<<==BBtH#b''!B355 ( (#'4a ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( GBKK355 ( (#'4a ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( d8=#s*****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+sZ   AC7 A=1C7=B	C7B	#C7(C9C7C			C7C		C77C;>C;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 )Nr   )r         (   r`   )name)r   r0   r4   r    r1   r2   r   rt   s     r$   'test_getitem_loc_assignment_slice_statez4TestChaining.test_getitem_loc_assignment_slice_statec  s    \\\*++/11 	  	 BsGKN	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
b)S,,,,?"@"@AAA
r#w|||#(F(F(FGGGGGs   AAAN)r=   r>   r?   r\   r@   rA   arm_slowrk   rr   ru   r|   r   r   r   r   r   r   r   r   r   r   rB   r   r   r   r   r   r   r   rC   r&   r$   rE   rE   J   sV       %0 %0 %0N [3 3 3 [/ / / [
  
  
  [" " " [/ / / [   [Q Q Q [9 9 9 [   [/ / / [# # #,	/ 	/ 	/# # #! ! !
 [UQ		1lll2C(D(D$EFF/ / GF/7 7 7 
/ 
/ 
/+ + ++ + +&H H H H Hr&   rE   )stringr   numpyr   r@   pandasr   r   r   r   r   r	   r
   pandas._testing_testingr0   r   rE   rC   r&   r$   <module>r      s                                            58 58 58 58 58 58 58 58p_H _H _H _H _H _H _H _H _H _Hr&   