
    bMh8                        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 ej        dg d           ej        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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'           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'           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       j/var/www/html/test/jupyter/venv/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   otherr   r   r   cr   r   c                     t          j        ddgddg                              d          }|                    |          \  }}|j        j        du sJ |j        j        du sJ d S r   )r!   r"   r   alignr   r   )r   r%   r#   r   r   s        r   
test_alignzTestPreserves.test_align0   sw     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frameFT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   r8   
isinstanceoperatormethodcallerr   r   )r   r   r%   r<   r3   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!   r0   r   r   r   r1   r2   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   c                 :   |s5|s3|                     t          j                            d                     t	          j        ddgi                              d          }|d         j        j        du sJ d|j        _        |d         j        j        du sJ d S )NzUnclear behavior.r   r	   r   Fr   T)	applymarkerpytestmarkxfailr!   r0   r   r   r   )r   requestusing_copy_on_writewarn_copy_on_writer3   s        r   "test_ndframe_getitem_caching_issuez0TestPreserves.test_ndframe_getitem_caching_issue]   s     $ 	O'9 	O 1 19L 1 M MNNN \3*%%///NN#w}4====+/(#w}4<<<<<<r   objs, kwargsr'   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_concati   sL    t JIDIII4**6**|3u<<<<<<r   zleft, right, expectedr   )marksc                 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   s9    @ $$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!   r0   r   groupbyaggr   r   )r   r3   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_ranger8   rollingmeanr   r   ewm	expanding)r   r<   r3   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__rG   rH   parametrizer!   r"   nparrayr0   r   r@   
itemgetterrA   strupperr   r$   not_implementedr*   r4   r:   rB   rD   rM   r_   paramr   ri   rn   rx    r   r   r   r      s       [Y%YA\2\C!Q=)		
 = = = [H&&!H!%++!H!(CI66!H!(F33!H!%((F	

 
> >
 
> [)")A___555yry3PS*7U7U7UV  8 8 _	 
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                      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ej                            d ej        dd
dgd           ej        dd
dgd          gddifg          d             Zed             ZdS )
TestRaisesz	cls, axesr   )r    r6   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   r   )r   r   rG   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)rG   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   rG   r   r   r   r\   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	   Nr1   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!   r0   r   getattrrG   r   r   r   )r   gettertargetr3   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rN   r   rR   r   rQ   c                     d |D             }d}t          j        t          j        j        |          5  t          j        |fi | d d d            d S # 1 swxY w Y   d S )Nc                 :    g | ]}|                     d           S rU   rV   rW   s     r   rZ   z1TestRaises.test_concat_raises.<locals>.<listcomp>:  r[   r   r   r   )rG   r   r!   r   r   r\   )r   r]   r^   r   s       r   test_concat_raiseszTestRaises.test_concat_raises-  s     JIDIII%]298DDD 	& 	&Id%%f%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   AAA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   Trb   )r!   r0   r   rG   r   r   r   re   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)ry   rz   r{   rG   rH   r|   r!   r"   r7   r0   r   r   r   r@   r   r   r   r   r   r   r   r   r   r   r      s       [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
	
    [ BIa1vC888BIa1vC888 	
 & & & > > _> > >r   r   idxr   r   g?rp   Dr   1D)r   r   c                 *    t          |           j        S N)typery   rY   s    r   <lambda>r   W  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   )rG   r   r!   r   r   r"   r   r0   )r   r   s     r   test_raises_basicr   J  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_messager0   tmassert_frame_equalr   r   rh   s      r   $test_format_duplicate_labels_messager   e  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   r0   r   r   r   s      r   *test_format_duplicate_labels_message_multir   n  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!   r0   r   rG   r   
ValueErrorinsert)r3   r   s     r   test_dataframe_insert_raisesr   x  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   r   r   s    r   r   r     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!   r0   r   r   r   rG   r   r   )method
frame_onlyr3   r#   r   s        r   test_inplace_raisesr     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                  R   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_equalr0   r   )r   r   s     r   test_pickler     s    
	1a&##E#BBA
QA1a   
c2Y))%)HHA
QA!Qr   )#__doc__r@   numpyr}   rG   pandasr!   pandas._testing_testingr   rH   rI   r   r   r   r|   r   PeriodIndexPeriodDatetimeIndex	TimestampTimedeltaIndex	TimedeltaCategoricalIndexIntervalIndexIntervalr   from_tuplesr   r   r   r   rA   r   r   r   r   r   <module>r      s   7 7                +##+=#>>RM RM RM RM RM RM RM RMr^> ^> ^> ^> ^> ^> ^> ^>B 	!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   