
    Owg8                        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                  j                  d      Z G d d      Z G d d      Zej                  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j0                   ej2                  dd
      gdz        ej4                  j7                  ddg      g	d       d        Zd Zd Zd Zej                  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"y)#z1Tests dealing with the NDFrame.allows_duplicates.    NzNot implemented.reasonc                   @	   e Zd Zej                  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                  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                  j                  d ej                  dg d       ej                  dddg      g      ed               Zd Zd Zej                  j                  dddg      ej                  j                  dddg      ej                  j                  dd ej                  ddgd      g      d                      Zd Zd Zej                  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                  j                  d% ej6                   ej                  dddgiddg      j9                  d&       ej                  d"ddgiddg      j9                  d&      de'       ej6                   ej                  dddgiddg      j9                  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                  j                  dddg      ed*               Zy+),TestPreservesz	cls, data      Ac                      ||      }|j                   j                  du sJ  ||      j                  d      }|j                   j                  du sJ y )NTFallows_duplicate_labels)flagsr   	set_flags)selfclsdataresults       a/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/generic/test_duplicate_labels.pytest_construction_okz"TestPreserves.test_construction_ok   sT     T||33t;;;T$$U$C||33u<<<    funcaaddrenamenameabsc                     t        j                  ddgddg      j                  d      } ||      j                  j                  du sJ y Nr   r   r   bindexFr   )pdSeriesr   r   r   )r   r   ss      r   test_preserved_seriesz#TestPreserves.test_preserved_series!   sG     IIq!fS#J/99RW9XAw}}44===r   otherr   r   r   cr   r   c                     t        j                  ddgddg      j                  d      }|j                  |      \  }}|j                  j
                  du sJ |j                  j
                  du sJ y r   )r!   r"   r   alignr   r   )r   r%   r#   r   r   s        r   
test_alignzTestPreserves.test_align0   sl     IIq!fS#J/99RW9Xwwu~1ww..%777ww..%777r   c                    t        j                  ddgddgdddg      j                  d	
      }|j                  dg   j                  j
                  d	u sJ |j                  d d ddgf   j                  j
                  d	u sJ y )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4S#JGQQ$) R 
 vvse}""::eCCCvva#sm$**BBeKKKr   c                     t        j                  t              j                  d      }|j	                         j
                  j                  du sJ y )N)dtypeFr   )r!   r"   floatr   to_framer   r   )r   sers     r   test_to_framezTestPreserves.test_to_frameB   s>    iie$..u.M||~##;;uDDDr   subframeFTr   c                 x   t        j                  ddgdddg      j                  d      }|r|j                         }t	        |t         j                        r|r|j                         }t        j                  ||      }|j                  j                  du sJ  ||      j                  j                  du sJ y )	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     YY1vCSz:DD$) E 
 BeRYY'ENN$E$$T51xx//5888Bx~~55>>>r   c                    t        j                  dddgi      j                  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 y )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3%y66%???#w}}44===vvay66%???vvqc{  88EAAAvva#h%%==FFFr   c                 P   |s1|s/|j                  t        j                  j                  d             t	        j
                  ddgi      j                  d      }|d   j                  j                  du sJ d|j                  _        |d   j                  j                  du sJ y )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     $'9 1 19L 1 MN \\3*%///N#w}}44===+/(#w}}44<<<r   objs, kwargsr'   dignore_indexaxisr/   r    r   c                     |D cg c]  }|j                  d       }}t        j                  |fi |}|j                  j                  du sJ y c c}w )NFr   )r   r!   concatr   r   )r   objskwargsxr   s        r   test_concatzTestPreserves.test_concati   sV    t EIIqE:II4*6*||33u<<< Js   Azleft, right, expectedr   )marksc                 j    t        j                  ||dd      }|j                  j                  |u sJ y )NT
left_indexright_index)r!   merger   r   )r   leftrightexpectedr   s        r   
test_mergezTestPreserves.test_merge   s1    @ $$DI||33x???r   c                     t        j                  dg di      j                  d      }|j                  g d      j	                  d      }|j
                  j                  du sJ y )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   sV     \\3	*+55e5TI&**73||33u<<<r   c                    t        j                  dt        j                  dd      dd      }|r|j                         }|j	                  d      j                         j                  j                  du sJ |j                  d      j                         j                  j                  du sJ |j                  d      j                         j                  j                  du sJ y )	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     YY--3$)	
 Bzz!}!!#))AAUJJJvvay~~%%==FFF||A##%++CCu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   rX   paramr   rb   rg   rq    r   r   r   r      s   [[YY%YYA\\2\\C!Q=)		
== [[H&!H!!%+!H!!(CII6!H!!(F3!H!!%(FF	

>
> [[)"))A_5yryy3PS*7UV 8 	
8LE [[VeU^4[[Wudm4[[Wq)"))QF*E&FG
? H 5 5
?G
= [[
 BIIaSz2BIIaSz2  BIIaSz2BIIaSz2  & BIIaSz2BIIaSz2  !BLL#1vsCjA BLL#1vsCjA  !BLL#1vsCjA BLL#1vsCjA  & !BLL#1vsCjA BLL#1vsCjA  !BLL#1vsCjABIIq!fS#JSA ]5	
8r=s8r=
 [[ FLLcAq6]3*=GG,1 H  cAq6]3*=GG,1 H  %	 FLLcAq6]3*=GG,1 H  cAq6]3*=% cAq6]3*=cAq6]3*=-	
>@?>@ = = [[WtUm4M  5Mr   r   c                   .   e Zd Zej                  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                  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                  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                  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y)
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 |j                  d       d d d        y # 1 sw Y   y xY w)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   st     t||33t;;;%]]29988D 	AK$K!!%!@	A 	A 	As   A66A?r   r   r   r   c                     d}t        j                  t        j                  j                  |      5  d|j
                  _        d d d        |j
                  j                  du sJ y # 1 sw Y   $xY w)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\     &]]29988D 	716DJJ.	7 zz11T999	7 	7s   A''A0c                 F   t        j                  dddg      }t        j                  ddgddg      j                  d      }d}t        j                  t         j
                  j                  |	      5  t        j                  ||g       d d d        y # 1 sw Y   y xY w)
Nr   r   r   r   r   Fr   r   r   )r!   r"   r   rG   r   r   r   rT   r   r   r   r   s       r   test_series_raiseszTestRaises.test_series_raises
  s    IIaSz*IIq!fS#J/99RW9X%]]29988D 	IIq!f	 	 	s   6BB zgetter, targetr	   Nr1   ilocc                 "   t        j                  ddgddgdddg      j                  d	
      }|rt        ||      }n|}d}t	        j
                  t         j                  j                  |      5   ||       d d d        y # 1 sw Y   y xY w)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4S#JGQQ$) R 
 R(FF%]]29988D 	6N	 	 	s   3	BBrN   r   rR   r   rQ   c                    |D cg c]  }|j                  d       }}d}t        j                  t        j                  j
                  |      5  t        j                  |fi | d d d        y c c}w # 1 sw Y   y xY w)NFr   r   r   )r   rG   r   r!   r   r   rT   )r   rU   rV   rW   r   s        r   test_concat_raiseszTestRaises.test_concat_raises-  sr     EIIqE:II%]]29988D 	&IId%f%	& 	& J	& 	&s   A1A66A?c                 V   t        j                  dg dig d      j                  d      }t        j                  dg dig d      }d	}t        j                  t         j
                  j                  |
      5  t        j                  ||dd       d d d        y # 1 sw Y   y xY w)Nr	   )r   r   r   r&   r   Fr   r/   )r   r   r   r   r   Tr[   )r!   r0   r   rG   r   r   r   r^   r   s       r   test_merge_raiseszTestRaises.test_merge_raises?  s    LL#y)AKK$) L 
 LL#y)A%]]29988D 	>HHQd=	> 	> 	>s   <BB()rr   rs   rt   rG   rH   ru   r!   r"   r7   r0   r   r   r   r@   rx   r|   r   r   r{   r   r}   r   r   r   r      st   [[YY3*u=>\\Gc3Z01\\c3ZS#JGH\\ISz23		
AA [[BIIQF%0BLL1v&BLL!Q(	
:: [[ X  #s,d3 X  #s,e4FLL,,,cC:->?G X  3*c!23U; X  !Q(&1FLL,,,a!Q[96BFLL,,,q!fa[96B
	
 [[ BIIa1vC8BIIa1vC8 	
&& > >r   r   idxr   r   g?ri   Dr   1D)r   r   c                 ,    t        |       j                  S N)typerr   rW   s    r   <lambda>r   W  s    $q'"" r   )idsc                    d}t        j                  t        j                  j                  |      5  t        j
                  d|       j                  d       d d d        t        j                  t        j                  j                  |      5  t        j                  dddgi|       j                  d       d d d        t        j                  t        j                  j                  |      5  t        j                  ddgg| 	      j                  d       d d d        y # 1 sw Y   xY w# 1 sw Y   xxY w# 1 sw Y   y xY w)
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	ryy44C	@ I
		!3))%)HI 
ryy44C	@ X
cAq6]#.88QV8WX 
ryy44C	@ U
q!fXs+55e5TU UI IX XU Us#   (D(,D44+E (D14D= E	c                      t        j                  g d      } | j                         }t        j                  dddgddggit        j                  ddgd	
            }t	        j
                  ||       y )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   ra   s      r   $test_format_duplicate_labels_messager   e  se    
((,
-C**,F||	1v1v&'rxxc
/QH &(+r   c                     t         j                  j                  dgg dg      } | j                         }t        j                  dddgddggit         j                  j                  dgdd	gg      
      }t        j                  ||       y )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%G
HC**,F||	1v1v&'mm((3%#s)<=H &(+r   c                      t        j                  dddgi      j                  d      } d}t        j                  t
        |      5  | j                  ddd	d
gd       d d d        y # 1 sw Y   y xY w)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  sf    	sQFm	$	.	.u	.	MB
C	z	- 9
		!S1a&4	89 9 9s   A((A1zmethod, frame_only	set_indexr	   T)inplacereset_indexr   c                     | S r   r}   r   s    r   r   r     s    1 r   Fc                 r   t        j                  ddgddgd      j                  d      }|d   }d|j                  _        d}t        j                  t        |	      5   | |       d d d        |s-t        j                  t        |	      5   | |       d d d        y y # 1 sw Y   9xY w# 1 sw Y   y xY w)
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     s     
QF!Q0	1	;	; % 
< 
B 	3A&+AGG#
C	z	- r
]]:S1 	1I	 	  	 	s    	B!	B-!B*-B6c                  L   t        j                  ddg      j                  d      } t        j                  |       }t        j
                  | |       t        j                  dg i      j                  d      } t        j                  |       }t        j                  | |       y )Nr   r   Fr   r	   )r!   r"   r   r   round_trip_pickleassert_series_equalr0   r   )r   r   s     r   test_pickler     s    
		1a&##E#BA
QA1a 
c2Y))%)HA
QA!Qr   )#__doc__r@   numpyrv   rG   pandasr!   pandas._testing_testingr   rH   rI   r{   r   r   ru   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     ++##+=#>RM RMr^> ^>B 	!Q#s#s			&#./!34,",,v./!34<2<<-.23S#J'+"++a+,q01
!!8X"67
 	#  	U	U,,9 			{C	>E			}d	;TB			xd	CUK r   