
    Pi+5                        d Z ddlZddlZddlZddlZddlmZ	 ej
                            d          Z G d d          Z G d d          Zej
                            d	 ej        d
d
g           ej        ddg           ej        ddg           ej         ej        dd          gdz             ej         ej        d          gdz             ej         ej        d          gdz             ej        ddg           ej         ej        dd
          gdz            ej                            ddg          g	d           d             Zd Zd Zd Zej
                            d ej         ddd          df ej         dd          df ej         dd d          d fg          d!             Z!d" Z"dS )#z1Tests dealing with the NDFrame.allows_duplicates.    NzNot implemented.)reasonc                      e Zd Zej                            dej         ej	        g           fej        ddgfej
        i fej
        dddgifg          d             Zej                            d ej        dg           ej        dd           ej        d	ej                   ej        d	d
           ej        d          ej        g          d             Zej                            dg dddgg          ed                         Zd Zd Zej                            dddg          ej                            dddg          ej                            dd ej        ddgd          g          d                                     Zd Zej                            d ej        dddg           ej        dddg          gi f ej        dddg           ej        dddg          gddif ej        dddg           ej        dddg          gd dif ej
        dddgiddg           ej
        dddgiddg          gi f ej
        dddgiddg           ej
        dddgiddg          gddif ej
        dddgiddg           ej
        d!ddgiddg          gd dif ej
        dddgiddg           ej        ddgddgd!"          gd difg          d#             Zej                            d$ ej         ej
        dd%dgiddg                              d&           ej
        d!d%dgiddg                              d&          d           ej         ej
        dd%dgiddg                              d&           ej
        d!d%dgiddg          d           ej
        dd%dgiddg           ej
        d!d%dgiddg          dfg          d'             Zed(             Zej                            dddg          ed)                         Zd*S )+TestPreservesz	cls, data      Ac                      ||          }|j         j        du sJ  ||                              d          }|j         j        du sJ d S )NTFallows_duplicate_labels)flagsr   	set_flags)selfclsdataresults       ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/generic/test_duplicate_labels.pytest_construction_okz"TestPreserves.test_construction_ok   sa     T|3t;;;;T$$U$CC|3u<<<<<<    funcaaddrenamenameabsc                     t          j        ddgddg                              d          } ||          j        j        du sJ d S )Nr   r   r   bindexFr
   )pdSeriesr   r   r   )r   r   ss      r   test_preserved_seriesz#TestPreserves.test_preserved_series"   sV     Iq!fS#J///99RW9XXtAww}4======r   r   r   r   cr   c                     t          j        d|          }t          j        ddgddg                              d          }|                    |          \  }}|j        j        du sJ |j        j        du sJ d S )Nr   r   r   r   r   Fr
   )r   r    r   alignr   r   )r   r   otherr!   r   r   s         r   
test_alignzTestPreserves.test_align1   s     	!5)))Iq!fS#J///99RW9XXwwu~~1w.%7777w.%777777r   c                     t          j        ddgddgdddg                              d	
          }|j        dg         j        j        d	u sJ |j        d d ddgf         j        j        d	u sJ d S )Nr   r         r   Br   r   r   Fr
   r   r-   )r   	DataFramer   locr   r   r   dfs     r   test_preserved_framez"TestPreserves.test_preserved_frame;   s    \AaV44S#JGGGQQ$) R 
 
 vse}":eCCCCvaaa#sm$*BeKKKKKKr   c                     t          j        t                                        d          }|                                j        j        du sJ d S )N)dtypeFr
   )r   r    floatr   to_framer   r   )r   sers     r   test_to_framezTestPreserves.test_to_frameB   sJ    ie$$$..u.MM||~~#;uDDDDDDr   subframeFTr'   r   c                 l   t          j        ddgdddg                              d          }|r|                                }t	          |t           j                  r|r|                                }t          j        ||          }|j        j        du sJ  ||          j        j        du sJ d S )	Nr   r   r   r   r   )r   r   Fr
   )	r   r    r   r6   
isinstanceoperatormethodcallerr   r   )r   r   r'   r:   r1   s        r   test_binopszTestPreserves.test_binopsF   s     Y1vCSz:::DD$) E 
 
  	BeRY'' 	%E 	%NN$$E$T511x/58888tBxx~5>>>>>>r   c                 b   t          j        dddgi                              d          }|dg         j        j        du sJ |d         j        j        du sJ |j        d         j        j        du sJ |j        dg         j        j        du sJ |j        ddgf         j        j        du sJ d S )Nr   r   r   Fr
   r   )r   r.   r   r   r   r/   r0   s     r   test_preserve_getitemz#TestPreserves.test_preserve_getitemU   s    \3A-((2252QQ3%y6%????#w}4====vay6%????vqc{ 8EAAAAva#h%=FFFFFFr   zobjs, kwargsr   r$   dignore_indexaxisr-   r   r   c                 b    d |D             }t          j        |fi |}|j        j        du sJ d S )Nc                 :    g | ]}|                     d           S Fr
   r   .0xs     r   
<listcomp>z-TestPreserves.test_concat.<locals>.<listcomp>   &    IIIqE::IIIr   F)r   concatr   r   )r   objskwargsr   s       r   test_concatzTestPreserves.test_concat]   sL    t JIDIII4**6**|3u<<<<<<r   zleft, right, expectedr   r
   c                 V    t          j        ||dd          }|j        j        |u sJ d S )NT
left_indexright_index)r   merger   r   )r   leftrightexpectedr   s        r   
test_mergezTestPreserves.test_merge   s8    < $$DIII|3x??????r   c                     t          j        dg di                              d          }|                    g d                              d          }|j        j        du sJ d S )Nr   )r   r   r*   Fr
   )r   r   r   count)r   r.   r   groupbyaggr   r   )r   r1   r   s      r   test_groupbyzTestPreserves.test_groupby   sl     \3			*++55e5TTIII&&**733|3u<<<<<<r   c                    t          j        dt          j        dd          dd          }|r|                                }|                    d                                          j        j        du sJ |                    d                                          j        j        du sJ |	                    d                                          j        j        du sJ d S )	Nr   2000   )periodsr   F)r   r   r   r*   )
r   r    
date_ranger6   rollingmeanr   r   ewm	expanding)r   r:   r1   s      r   test_windowzTestPreserves.test_window   s     Y-333$)	
 
 
  	Bzz!}}!!##)AUJJJJvvayy~~%=FFFF||A##%%+CuLLLLLLr   N)__name__
__module____qualname__pytestmarkparametrizer   r    nparrayr.   r   r>   
itemgetterr?   strupperr   r"   not_implementedr(   r2   r8   r@   rB   rS   paramr   r\   ra   rk    r   r   r   r      s[       [Y%YA\2\C!Q=)		
 = = = [H&&!H!%++!H!(CI66!H!(F33!H!%((F	

 
> >
 
> [Wc
&CDD8 8 _ ED8L L LE E E [VeU^44[Wudm44[Wq)")QF*E*E*E&FGG
? 
? HG 54 54
?G G G [
 BIaSz222BIaSz222  BIaSz222BIaSz222  & BIaSz222BIaSz222  !BL#1vsCjAAA BL#1vsCjAAA  !BL#1vsCjAAA BL#1vsCjAAA  & !BL#1vsCjAAA BL#1vsCjAAA  !BL#1vsCjAAABIq!fS#JSAAA ]5	
8 8r= =s8 8r=
 [ FLcAq6]3*===GG,1 H   cAq6]3*===GG,1 H     FLcAq6]3*===GG,1 H   cAq6]3*===  cAq6]3*===cAq6]3*===)	
 :@ @; :@ = = _= [WtUm44M M _ 54M M Mr   r   c                   6   e Zd Zej                            dej        ddgedfej	        dddgifej	        ddgddgdfej	        dddgifg          d             Z
ej                            d	 ej        d
d
ge           ej	        d
d
g           ej	        d
d
g          g          d             Zd Zej                            d ej        ddg          df ej        ddg          df ej         ej        dddgf          d           ej        ddgdf          df ej        d
d
g          df ej         ej        d
d
d
gf          d           ej         ej        d
d
gd
f          d          g          d             Zd Zd ZdS )
TestRaisesz	cls, axesr   )r   r4   r   r   )r   columnsr|   c                      |di |}|j         j        du sJ d}t          j        t          j        j        |          5   |di |                    d           d d d            d S # 1 swxY w Y   d S )NTIndex has duplicates.matchFr
   ry   )r   r   ro   raisesr   errorsDuplicateLabelErrorr   )r   r   axesr   msgs        r   test_set_flags_with_duplicatesz)TestRaises.test_set_flags_with_duplicates   s     t|3t;;;;%]298DDD 	A 	ACKK$KK!!%!@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	As    A**A.1A.r   r   r   r|   c                     d}t          j        t          j        j        |          5  d|j        _        d d d            n# 1 swxY w Y   |j        j        du sJ d S )Nr~   r   FT)ro   r   r   r   r   r   r   )r   r   r   s      r   +test_setting_allows_duplicate_labels_raisesz6TestRaises.test_setting_allows_duplicate_labels_raises   s     &]298DDD 	7 	716DJ.	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 z1T999999s   AAAc                 >   t          j        dddg          }t          j        ddgddg                              d          }d}t          j        t           j        j        |	          5  t          j        ||g           d d d            d S # 1 swxY w Y   d S )
Nr   r   r   r   r   Fr
   r~   r   )r   r    r   ro   r   r   r   rP   r   r   r   r   s       r   test_series_raiseszTestRaises.test_series_raises   s    IaSz***Iq!fS#J///99RW9XX%]298DDD 	 	Iq!f	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   .BBBzgetter, targetr   Nr/   ilocc                 ,   t          j        ddgddgdddg                              d	
          }|rt          ||          }n|}d}t	          j        t           j        j        |          5   ||           d d d            d S # 1 swxY w Y   d S )Nr   r   r*   r+   r,   r   r   r   Fr
   r~   r   )r   r.   r   getattrro   r   r   r   )r   gettertargetr1   r   s        r   test_getitem_raiseszTestRaises.test_getitem_raises  s     \AaV44S#JGGGQQ$) R 
 
  	R((FFF%]298DDD 	 	F6NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   0B		BBc                 .   t          j        dddgd          t          j        dddgd          g}d |D             }d}t          j        t           j        j        |          5  t          j        |d	           d d d            d S # 1 swxY w Y   d S )
Nr   r   r   rF   r   c                 :    g | ]}|                     d           S rI   rJ   rK   s     r   rN   z1TestRaises.test_concat_raises.<locals>.<listcomp>$  rO   r   r~   r   )rE   )r   r    ro   r   r   r   rP   )r   rQ   r   s      r   test_concat_raiseszTestRaises.test_concat_raises  s    Ia1vC000Ia1vC000
 JIDIII%]298DDD 	$ 	$Id####	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   &B

BBc                 N   t          j        dg dig d                              d          }t          j        dg dig d          }d	}t          j        t           j        j        |
          5  t          j        ||dd           d d d            d S # 1 swxY w Y   d S )Nr   )r   r   r   r#   r   Fr
   r-   )r   r   r   r~   r   TrU   )r   r.   r   ro   r   r   r   rX   r   s       r   test_merge_raiseszTestRaises.test_merge_raises)  s    L#yyy)AAAKK$) L 
 
 L#yyy)AAA%]298DDD 	> 	>HQd====	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>s   4BB!B)rl   rm   rn   ro   rp   rq   r   r    r5   r.   r   r   r   r>   rt   rx   r   r   r   ry   r   r   r{   r{      sc       [Y3*u==>\Gc3Z01\c3ZS#JGGH\ISz23		
 A A A [BIQF%000BL1v&&&BL!Q(((	
 : : :   [ X #s,,d3 X #s,,e4FL,,cC:->??GG X 3*c!233U; X !Q((&1FL,,a!Q[996BBFL,,q!fa[996BB
	
   $ $ $> > > > >r   r{   idxr   r   g?rc   Dr   1D)r   r   c                 *    t          |           j        S N)typerl   rM   s    r   <lambda>r   @  s    $q''" r   )idsc                    d}t          j        t          j        j        |          5  t          j        d|                               d           d d d            n# 1 swxY w Y   t          j        t          j        j        |          5  t          j        dddgi|                               d           d d d            n# 1 swxY w Y   t          j        t          j        j        |          5  t          j        ddgg| 	                              d           d d d            d S # 1 swxY w Y   d S )
Nr~   r   r   r   Fr
   r   r   r   )ro   r   r   r   r   r    r   r.   )r   r   s     r   test_raises_basicr   3  s      "C	ry4C	@	@	@ I I
	!3))%)HHHI I I I I I I I I I I I I I I 
ry4C	@	@	@ X X
cAq6]#...88QV8WWWX X X X X X X X X X X X X X X 
ry4C	@	@	@ U U
q!fXs+++55e5TTTU U U U U U U U U U U U U U U U U Us5   +AA#&A#/C

CC:.D55D9<D9c                      t          j        g d          } |                                 }t          j        dddgddggit          j        ddgd	
                    }t	          j        ||           d S )Nr   r   r   r   r$   	positionsr   r   r   r*   r   r   labelr;   r   )r   Index_format_duplicate_messager.   tmassert_frame_equalr   r   r[   s      r   $test_format_duplicate_labels_messager   N  s    
(,,,
-
-C**,,F|	1v1v&'rxc
/Q/Q/Q  H &(+++++r   c                      t           j                            dgg dg          } |                                 }t          j        dddgddggit           j                            dgdd	gg          
          }t          j        ||           d S )Nr   r   r   r   r   r   r*   r   r   r   )r   
MultiIndexfrom_productr   r.   r   r   r   s      r   *test_format_duplicate_labels_message_multir   W  s    
-
$
$se-F-F-F%G
H
HC**,,F|	1v1v&'m((3%#s)<==  H &(+++++r   c                      t          j        dddgi                              d          } d}t          j        t
          |          5  |                     ddd	d
gd           d d d            d S # 1 swxY w Y   d S )Nr   r   r   Fr
   Cannot specifyr   r   r*   r+   T)allow_duplicates)r   r.   r   ro   r   
ValueErrorinsert)r1   r   s     r   test_dataframe_insert_raisesr   a  s    	sQFm	$	$	.	.u	.	M	MB
C	z	-	-	- 9 9
		!S1a&4	8889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s   
A33A7:A7zmethod, frame_only	set_indexr   T)inplacereset_indexr   c                     | S r   ry   r   s    r   r   r   m  s    1 r   Fc                    t          j        ddgddgd                              d          }|d         }d|j        _        d}t          j        t          |	          5   | |           d d d            n# 1 swxY w Y   |sAt          j        t          |	          5   | |           d d d            d S # 1 swxY w Y   d S d S )
Nr   r   r   r,   Fr
   r   r   r   )r   r.   r   r   r   ro   r   r   )method
frame_onlyr1   r!   r   s        r   test_inplace_raisesr   h  sd    
QF!Q00	1	1	;	; % 
< 
 
B 	3A&+AG#
C	z	-	-	-  r


               ]:S111 	 	F1III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s$   !A99A= A=!B::B>B>c                 V   t          j        ddg                              d          }t          j        ||           }t          j        ||           t          j        dg i                              d          }t          j        ||           }t          j        ||           d S )Nr   r   Fr
   r   )r   r    r   r   round_trip_pickleassert_series_equalr.   r   )	temp_filer   r   s      r   test_pickler     s    
	1a&##E#BBA
Q	**A1a   
c2Y))%)HHA
Q	**A!Qr   )#__doc__r>   numpyrr   ro   pandasr   pandas._testing_testingr   rp   xfailrw   r   r{   rq   r   PeriodIndexPeriodDatetimeIndex	TimestampTimedeltaIndex	TimedeltaCategoricalIndexIntervalIndexIntervalr   from_tuplesr   r   r   r   r?   r   r   ry   r   r   <module>r      s   7 7                +##+=#>>CM CM CM CM CM CM CM CMTU> U> U> U> U> U> U> U>p 	!Q#s#s		&#../!344,",v../!344<2<--.233S#J''+"+a++,q011
!!8X"677
 	#"   	U 	U 	U, , ,, , ,9 9 9 		{C	>	>	>E		}d	;	;	;TB		xd	C	C	CUK            r   