
    Pi?                     l    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 d dlmZ  G d d          ZdS )    )ChainMapN)	DataFrameIndex
MultiIndexSeriesmergec                      e Zd Zd Zd Zd Zej                            d e	ddiddi          fd	d
ifdd
 e	ddiddi          ifg          d             Z
d Zd Zd Zd Zd Zd Zej                            dddddg dfddidg dfej        dg dfg          d             Zd Zd Zd Zd Zd Zd  Zd! Zd" Zd# Zd$ Zd% Zd&S )'
TestRenamec                 ~    t          j        t          j                  }t	          |j                  }|h dk    sJ d S )N>	   axiscopyselfindexlevelerrorsmappercolumnsinplace)inspect	signaturer   renameset
parameters)r   sigr   s      z/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/methods/test_rename.pytest_rename_signaturez TestRename.test_rename_signature   sT    	 011((
 

 

 

 

 

 

 

 

 

    c                      |g dt          j        d dD                                 }|                    t          j                   d S )N)         c                     g | ]}d |fS )A ).0xs     r   
<listcomp>z-TestRename.test_rename_mi.<locals>.<listcomp>$   s    )L)L)Lq3()L)L)Lr   )aBcr   )r   from_tuplesr   strlower)r   frame_or_seriesobjs      r   test_rename_mizTestRename.test_rename_mi!   sX    oLL()L)LO)L)L)LMM
 
 
 	

39r   c                    ddddd}|                     |          }|                     t          j                  }t          j        ||           t          j        |                     t          j                  |d           d	d
ddi}t          |          }|                     ddd          }t          j        |j        t          ddg                     |                     t          j                  }t          j        |j        t          ddg                     t          j        t          d          5  |                                  d d d            n# 1 swxY w Y   |                     ddd          }t          j        |j        t          g d                     |j                             ddd          }t          j        |j        t          g d                     t          ddgd          }t          ||          }|                     ddd          }t          j        |j        t          ddgd                     |j        j        |j        j        k    sJ d S )Nr(   br*   dr#   r)   CDr   F)check_namesr#   r      )foobarr<   r;   r+   FOOBARmust pass an index to renamematch)r6   r7   )r#   r)   r;   r<   name)rB   )r   r-   r.   tmassert_frame_equalupperr   assert_index_equalr   r   pytestraises	TypeErrorr   TrB   )	r   float_framemappingrenamedrenamed2datadfr   renamers	            r   test_renamezTestRename.test_rename(   s   #Cc::$$W$55%%ci%88
gx000
OOCIO..	
 	
 	
 	

 Qq))*t__))%">">)??
gmUE5>-B-BCCC))#)),,
gmUE5>-B-BCCC ]9,JKKK 	! 	!   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! $$5u-E-E$FF
gou5M5M5M/N/NOOO -&&5u-E-E&FF
gmU3K3K3K-L-LMMM uen6222D.....uU'C'C.DD
gmUE5>-O-O-OPPP}!W]%7777777s   E%%E),E)zargs,kwargsr#   r(   r)   r3   r   r   r$   c                    t          dd          }t          j                            d                              d          }t          ||d          } |j        |i |}t          ||d          }t          j        ||           d S )Nr:   r      
   r#   r)   r(   r3   )	rangenprandomdefault_rngstandard_normalr   r   rC   rD   )r   argskwargscolADatacolBdatarP   resultexpecteds           r   test_rename_chainmapzTestRename.test_rename_chainmapP   s     B<<9((++;;B??XH5566D+F++8(;;<<
fh/////r   c                    ddg}ddg}t          j        |ddg          }t          j        |dd	g          }t          d
dg||          }|                    dddddd          }t          j        ddgddg          }t          j        ddgdd	g          }t	          j        |j        |           t	          j        |j        |           |j        j        |j        j        k    sJ |j        j        |j        j        k    sJ t          j        ddgdd	g          }|                    dddd          }t	          j        |j        |           |                    dddd          }t	          j        |j        |           t          j        ddgdd	g          }|                    dddd          }t	          j        |j        |           |                    dddd	          }t	          j        |j        |           t          j
        }	t          j        ddgdd	g          }|                    |	d          }t	          j        |j        |           |                    |	d          }t	          j        |j        |           t          j        ddgdd	g          }|                    |	d          }t	          j        |j        |           |                    |	d	          }t	          j        |j        |           t          j        ddgddg          }|                    dddd          }t	          j        |j        |           d S )N)foo1bar1)foo2bar2)fizz1buzz1)fizz2buzz2r;   r<   namesfizzbuzzr   r   r:   r:   r   r   foo3bar3)re   rh   fizz3buzz3)ri   rl   )rt   rf   )rg   ru   )rv   rj   )rk   rw   r   )r   r   r:   )FIZZ1rj   )FIZZ2rl   )ri   BUZZ1)rk   BUZZ2)r   r   )r   r,   r   r   rC   rF   r   r   rn   r-   rE   )
r   tuples_indextuples_columnsr   r   rP   rM   	new_indexnew_columnsfuncs
             r   test_rename_multiindexz!TestRename.test_rename_multiindexb   s   (*:;,.@A&|E5>JJJ(?OPPP'ugFFF
 ))!622%88  
 
 */0
 
 
	 !,!34VV<L
 
 
 	gmY777
go{;;;}"bhn4444$
(88888 !,!34VV<L
 
 
 ))g$H$HPQ)RR
go{;;;))g$H$HPV)WW
go{;;; ,!34VV<L
 
 
 ))g$H$HPQ)RR
go{;;;))g$H$HPV)WW
go{;;; y ,!34VV<L
 
 
 ))D)22
go{;;;))D)77
go{;;; ,!34VV<L
 
 
 ))D)22
go{;;;))D)77
go{;;; */0
 
 
	 ))66"B"B!)LL
gmY77777r   c                     |                     ddi          }t          j        |d         j        |d         j                  sJ d|j        d d df<   |d         dk                                    rJ d S )Nr6   r;   r8   g      ?)r   rY   shares_memory_valueslocall)r   rK   rM   s      r   test_rename_nocopyzTestRename.test_rename_nocopy   s    $$c5\$:: 6C8H8PQQQQQ #AAAuH$+002222222r   c                     |                     ddi           d|v sJ d|vsJ |d         }|                                }|                     ddid          }|J d|vsJ d|v sJ |d         |usJ d S )Nr6   r;   r8   Tr   r   )r   r   )r   rK   c_valuesreturn_values       r   test_rename_inplacezTestRename.test_rename_inplace   s    C<000k!!!!K''''s#!&&(("))3,)MM###+%%%%#### 5!111111r   c                 ^   t          ddgddgddgd          }|                    dd	i
          }|                    ddi
          }|                    d	dg          }dg|_        t          dgdggt	          j        ddgd	dg          dg          }t          j        ||           d S )Nr;   r<   bahbasr:   rT   r   r:   rT   r   r(   r8   r3   z
2001-01-01)r;   r   )r<   r   rm   rs   )r   r   	set_indexr   r   r,   rC   rD   r   rP   rb   s      r   test_rename_bugzTestRename.test_rename_bug   s     E5>uen!QHHIIYY3xY((YY3xY((\\3*%%"^
S1#J(0c
   "N
 
 
 	b(+++++r   c                     t          t          j        d          g ddg          }|                    ddid          }t          t          j        d          g d	dg          }t	          j        ||           d S )
N   )rq   rr   rT   rT   r(   )rO   r   r   rr         r   r   )rq   r   r   )r   rY   aranger   rC   rD   r   s      r   test_rename_bug2zTestRename.test_rename_bug2   s     BIaLL0H0H0HSVRWXXXYY'gY661%=%=%=u
 
 
 	b(+++++r   c                     t          g d          }t          j        t          d          5  |                    dddd	           d d d            d S # 1 swxY w Y   d S )
Nr5   r8   z'E'] not found in axisr@   r(   er#   Eraiser   r   )r   rG   rH   KeyErrorr   )r   rP   s     r   test_rename_errors_raisesz$TestRename.test_rename_errors_raises   s    333444]8+CDDD 	D 	DIICc227ICCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   AAAz mapper, errors, expected_columnsr   r   ignore)r(   r)   r6   r7   r   )r(   r3   r*   r4   c                     t          g d          }|                    ||          }t          |          }t          j        ||           d S )Nr5   r8   r   )r   r   rC   rD   )r   r   r   expected_columnsrP   ra   rb   s          r   test_rename_errorszTestRename.test_rename_errors   sZ     3334446&99%5666
fh/////r   c                 ^    |                     t          j                  }d|v sJ d|vsJ d S )Nr8   r=   r;   )r   r-   rE   )r   float_string_framerM   s      r   test_rename_objectszTestRename.test_rename_objects   sB    $++CI+>>G######r   c                 6   t          ddgddgdddg          }t          ddgddgdddg          }|                    t          j        d          }t	          j        ||           |                    t          j        d	          }t	          j        ||           |                    d
ddd          }t	          j        ||           |                    d
ddd	          }t	          j        ||           t          ddgddgdddg          }|                    t          j        d          }t	          j        ||           |                    t          j        d          }t	          j        ||           |                    dddd          }t	          j        ||           |                    dddd          }t	          j        ||           |                    t          j        d          }t	          j        ||           d S )Nr:   rT   rV   XYr+   rW   r   r   r(   r3   r&   yr   r   )r   r   )r   r   )r   r   r-   r.   rC   rD   )r   rP   rb   ra   s       r   test_rename_axis_stylez!TestRename.test_rename_axis_style   s   aV1a&11#sDDDAq6A77SzJJJ391--
fh///39955
fh///3//a88
fh///3//i@@
fh/// Aq6A77SzJJJ391--
fh///39733
fh///3//a88
fh///3//g>>
fh///#)'::
fh/////r   c                 
   t          ddgddgddgd                              dd	g          }|                    t          j                  }|                    t          j        
          }t          j        ||           d S )Nr(   r3   r*   r4   r:   rT   r#   r)   r6   r#   r)   r+   )r   r   r   r-   rE   rC   rD   r   rP   ra   rb   s       r   test_rename_mapper_multiz#TestRename.test_rename_mapper_multi  s    c3ZsCj1vFFGGQQ#J
 
 39%%99399--
fh/////r   c                     t          ddgddgdddg          }|                    t          j        t          j                  }t          ddgddgdd	d
g          }t          j        ||           d S )Nr:   rT   rW   r   r   r+   rs   rV   r&   r   )r   r   r-   r.   rE   rC   rD   r   s       r   test_rename_positional_namedz'TestRename.test_rename_positional_named!  s    aV1a&11#sDDDCI>>Aq6A77SzJJJ
fh/////r   c                    t          ddgddgdddg          }d}t          j        t          |          5  |                    t
          j        d	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        d
	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        d
           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        d	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        t
          j        d
	           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    t
          j        t
          j        t
          j                   d d d            n# 1 swxY w Y   t          j        t          d          5  |                    t          t                     d d d            d S # 1 swxY w Y   d S )Nr:   rT   rV   01r+   z:Cannot specify both 'axis' and any of 'index' or 'columns'r@   )r   r   r   )r   r   r   <Cannot specify both 'mapper' and any of 'index' or 'columns'rs   zmultiple values)r   )r   rG   rH   rI   r   r-   r.   id)r   rP   over_spec_msgs      r   test_rename_axis_style_raisesz(TestRename.test_rename_axis_style_raises(  s
   aV1a&11#sDDD U]9M::: 	/ 	/IICIAI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ]9M::: 	7 	7IICIII666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 ]9M::: 	9 	9IIciiI888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 ]9M::: 	/ 	/IICIAI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ]9M::: 	B 	BIIcisyyIAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B W]9M::: 	E 	EIIcisy#)IDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E ]9,=>>> 	% 	%IIbI$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s}   "A&&A*-A*"B::B>B> "DDD4"E""E&)E&-GGG)7H,,H03H0"JJJc                     t          ddg          }d}t          j        t          |          5  |                    d t
          j                   d d d            d S # 1 swxY w Y   d S )Nr#   r)   r8   z1rename\(\) takes from 1 to 2 positional argumentsr@   )r   rG   rH   rI   r   r-   r.   r   rP   msgs      r   test_rename_positional_raisesz(TestRename.test_rename_positional_raisesG  s    Sz***B]9C000 	' 	'IIdCI&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   !AA"%A"c                 z   t          dgg          }d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d d            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d d            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d d d            d d d            d S # 1 swxY w Y   d S )Nr:   r?   r@   r+   r8   r   r   r   rG   rH   rI   r   r   s      r   test_rename_no_mappings_raisesz)TestRename.test_rename_no_mappings_raisesO  s&   u,]9C000 	 	IIKKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	( 	(IId$I'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]9C000 	* 	*IIdDI)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9C000 	6 	6IIdDI555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6sG   AAA6BB!B C$$C(+C(
D00D47D4c                    t          dgg          }d}t          j        t          |          5  |                    i i            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    i i            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    i i i            d d d            d S # 1 swxY w Y   d S )Nr:   r   r@   r+   r8   r   r   r   s      r   2test_rename_mapper_and_positional_arguments_raisesz=TestRename.test_rename_mapper_and_positional_arguments_raises_  s   uL]9C000 	$ 	$IIbI###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]9C000 	& 	&IIb"I%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& ]9C000 	0 	0IIb"BI///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s5   AAA9BB!$B!C))C-0C-c                    t          dgdgdgdt          j        dgddg          	          }t          g d
dgdz  g dg ddt          j        g dddg          	          }t          ||ddd          }|                    ddd          }t          g dgg d                              ddgd          }t          j        ||           d S )Nz6>?Q6@^K=?)RTTCloseTExg*	 *3STK_IDRPT_Daterm   r+   )b33r   r   r   )   饡驦r   r   )gfffffC@gGzD@(\>@)r   r   STK_Namer   ))r   r   )r   r   r   innerT)how
left_indexright_indexr   QT_Close)TClose_xTClose_yr8   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   F)drop)r   r   r,   r   r   r   rC   rD   )r   df4df5kra   rb   s         r   "test_rename_with_duplicate_columnsz-TestRename.test_rename_with_duplicate_columnsl  sQ   8wAA(#$Xz,B  
 
 
 :::!(Q,:::///	  (LLL,  
 
 
 #sDdKKKxZ"P"PQQGGGH  
 
 
 )Xz*)
7
7 	 	fh/////r   c                 R   t          t          j        d                              dd          g d          }dddd	}|                    |
          }t          t          j        d                              dd          g dg d          }t          j        ||           d S )N   r   r   )FTrT   r   r   r8   r;   r<   r   r   r+   )r;   r<   r   r   )r   rY   r   reshaper   rC   rD   )r   rP   r   resexps        r   test_rename_boolean_indexz$TestRename.test_rename_boolean_index  s    ry}},,Q22<R<R<RSSSu//iifi%%IbMM!!!Q''***'''
 
 

 	c3'''''r   c                    t          g dg dg dd          }|                    d          }t          g dg d	          }d
}t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |d           d d d            n# 1 swxY w Y   t          j        ||           |j	        d         }t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |	           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |d           d d d            n# 1 swxY w Y   t          j
        ||j	        d                    d S )N)r:   rT   r   )r   r      )      	   r   T)deep)r   r   ZW)r#   r)   r)   r6   r+   z1Cannot rename with a Series with non-unique indexr@   r8   r   r   )r   r   )r   r   r   rG   rH   
ValueErrorr   rC   rD   ilocassert_series_equal)r   rP   origrename_seriesr   sers         r   #test_rename_non_unique_index_seriesz.TestRename.test_rename_non_unique_index_series  s   YYYYYYYYYGGHHwwDw!!333;O;O;OPPPA]:S111 	% 	%IIm$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%]:S111 	- 	-IImI,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-]:S111 	; 	;IImTI:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	b$''' gaj]:S111 	& 	&JJ}%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&]:S111 	, 	,JJ]J+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,]:S111 	: 	:JJ]DJ999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	sDIaL11111sl   "BBB*CCC3DDDFFF'G

GG0HHHN)__name__
__module____qualname__r   r1   rR   rG   markparametrizer   rc   r   r   r   r   r   r   r-   r.   r   r   r   r   r   r   r   r   r   r   r   r   r$   r   r   r
   r
      s@       
 
 
  &8 &8 &8P [hSzC:..0692EF)XXsCj3*==>?	
 	0 	0 	0D8 D8 D8L3 3 32 2 2 , , ,"	, 	, 	,D D D
 [*S!!8-A-A-AB3Z"6"6"67Y!5!5!56	
 0 0 0$ $ $ 0  0  0D0 0 00 0 0% % %>' ' '6 6 6 0 0 0%0 %0 %0N	( 	( 	(2 2 2 2 2r   r
   )collectionsr   r   numpyrY   rG   pandasr   r   r   r   r   pandas._testing_testingrC   r
   r$   r   r   <module>r     s                                        i2 i2 i2 i2 i2 i2 i2 i2 i2 i2r   