U
    ¾mœdX>  ã                   @   s|  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d�ZG dd„ dƒZG dd„ dƒZej
jd	e d
d
g¡e ddg¡e ddg¡e e dd¡gd ¡e e d¡gd ¡e e d¡gd ¡e ddg¡e e dd
¡gd ¡ej ddg¡g	dd„ d�dd„ ƒZdd„ Zdd„ Zdd„ Zej
 dej ddd d!�d fej d"d d!�d fej d#d$d„ d d!�d%fg¡d&d'„ ƒZ!d(d)„ Z"dS )*z1Tests dealing with the NDFrame.allows_duplicates.é    NzNot implemented.©Úreasonc                   @   sF  e Zd Zej deje 	g ¡fejddgfej
i fej
dddgifg¡dd„ ƒZej de dg¡e d	d¡e d
ej¡e d
d¡e d¡ejg¡dd„ ƒZej dejddddgd�ejdddgd�g¡edd„ ƒƒZdd„ Zdd„ Zej dd	dg¡ej dddg¡ej ddejddgdd�g¡dd „ ƒƒƒZd!d"„ Zd#d$„ Zej d%ejdddgd�jdd&�ejddd'gd�jdd&�gi fejdddgd�jdd&�ejdddgd�jdd&�gd(difejdddgd�jdd&�ejdddgd�jdd&�gd)difej
dddgiddgd�jdd&�ej
dddgidd'gd�jdd&�gi fej
dddgiddgd�jdd&�ej
dddgiddgd�jdd&�gd(difej
dddgiddgd�jdd&�ej
d*ddgiddgd�jdd&�gd)difej
dddgiddgd�jdd&�ejddgddgd*d+�jdd&�gd)difg¡d,d-„ ƒZej d.ejej
dddgiddgd�jdd&�ej
d*ddgidd'gd�jdd&�ddd/œded0�ejej
dddgiddgd�jdd&�ej
d*ddgidd'gd�ddd/œded0�ej
dddgiddgd�ej
d*ddgidd'gd�ddd/œdfg¡d1d2„ ƒZed3d4„ ƒZej dddg¡ed5d6„ ƒƒZd7S )8ÚTestPreservesz	cls, dataé   é   ÚAc                 C   s<   ||ƒ}|j jdkst‚||ƒjdd�}|j jdks8t‚d S )NTF©Úallows_duplicate_labels)Úflagsr	   ÚAssertionErrorÚ	set_flags)ÚselfÚclsÚdataÚresult© r   úc/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/pandas/tests/generic/test_duplicate_labels.pyÚtest_construction_ok   s    
z"TestPreserves.test_construction_okÚfuncÚaÚaddÚrenameÚnameÚabsc                 C   s6   t jddgddgd�jdd�}||ƒjjdks2t‚d S ©Nr   r   r   Úb©ÚindexFr   )ÚpdÚSeriesr   r
   r	   r   )r   r   Úsr   r   r   Útest_preserved_series!   s    z#TestPreserves.test_preserved_seriesÚotherr   r   Úcr   c                 C   sP   t jddgddgd�jdd�}| |¡\}}|jjdks<t‚|jjdksLt‚d S r   )r   r   r   Úalignr
   r	   r   )r   r"   r    r   r   r   r   r   Ú
test_align0   s    zTestPreserves.test_alignc                 C   sf   t jddgddgdœddgd�jd	d
�}|jdg jjd	ks@t‚|jd d …ddgf jjd	ksbt‚d S )Nr   r   é   é   ©r   ÚBr   r   r   Fr   r   r)   )r   Ú	DataFramer   Úlocr
   r	   r   ©r   Údfr   r   r   Útest_preserved_frame;   s
     ÿz"TestPreserves.test_preserved_framec                 C   s,   t jtd�jdd�}| ¡ jjdks(t‚d S )N)ÚdtypeFr   )r   r   Úfloatr   Úto_framer
   r	   r   )r   Zserr   r   r   Útest_to_frameB   s    zTestPreserves.test_to_frameÚsubÚframeFT©r   c                 C   sx   t jddgdddgd�jdd�}|r,| ¡ }t|t jƒrD|rD| ¡ }t ||¡}|jjdks`t	‚||ƒjjdkstt	‚d S )	Nr   r   r   r   r   )r   r   Fr   )
r   r   r   r1   Ú
isinstanceÚoperatorÚmethodcallerr
   r	   r   )r   r   r"   r4   r-   r   r   r   Útest_binopsF   s    ÿzTestPreserves.test_binopsc                 C   s’   t  dddgi¡jdd�}|dg jjdks0t‚|d jjdksDt‚|jd jjdksZt‚|jdg jjdksrt‚|jddgf jjdksŽt‚d S )Nr   r   r   Fr   r   )r   r*   r   r
   r	   r   r+   r,   r   r   r   Útest_preserve_getitemU   s    z#TestPreserves.test_preserve_getitemc                 C   sf   |s|j  tjjdd�¡ t ddgi¡jdd�}|d jj	dksFt
‚d|j_	|d jj	dksbt
‚d S )NzUnclear behavior.r   r   r   Fr   T)ÚnodeZ
add_markerÚpytestÚmarkÚxfailr   r*   r   r
   r	   r   )r   ÚrequestZusing_copy_on_writer-   r   r   r   Ú"test_ndframe_getitem_caching_issue]   s    z0TestPreserves.test_ndframe_getitem_caching_issueúobjs, kwargsr   ÚdZignore_indexÚaxisr)   ©r   r   c                 C   s"   t j|f|Ž}|jjdkst‚d S )NF)r   Úconcatr
   r	   r   )r   ÚobjsÚkwargsr   r   r   r   Útest_concatg   s    ZzTestPreserves.test_concatzleft, right, kwargs, expected©Z
left_indexZright_index)Zmarksc                 C   s$   t j||f|Ž}|jj|ks t‚d S ©N)r   Úmerger
   r	   r   )r   ÚleftÚrightrG   Úexpectedr   r   r   r   Ú
test_mergeÄ   s    #zTestPreserves.test_mergec                 C   sF   t  ddddgi¡jdd�}| dddg¡ d¡}|jjdksBt‚d S )	Nr   r   r   r&   Fr   r   Úcount)r   r*   r   ÚgroupbyZaggr
   r	   r   )r   r-   r   r   r   r   Útest_groupbyê   s    zTestPreserves.test_groupbyc                 C   sz   t jdt jddd�ddd�}|r(| ¡ }| d¡ ¡ jjdksBt‚| 	d¡ ¡ jjdks\t‚| 
d¡ ¡ jjdksvt‚d S )	Nr   Ú2000é   )Zperiodsr   F)r   r   r	   r&   )r   r   Z
date_ranger1   ZrollingZmeanr
   r	   r   ZewmZ	expanding)r   r4   r-   r   r   r   Útest_windowõ   s    üzTestPreserves.test_windowN) Ú__name__Ú
__module__Ú__qualname__r<   r=   Úparametrizer   r   ÚnpÚarrayr*   r   r7   Ú
itemgetterr8   ÚstrÚupperr   r!   Únot_implementedr%   r.   r2   r9   r:   r@   r   rH   ÚparamrO   rR   rU   r   r   r   r   r      s  üþ	



úþ
 $ÿ
ÿÿü÷ÿÿü÷ÿÿü÷ÿÿü÷ÿÿü÷ÿÿü÷ÿýûüóºþY
ÿÿ÷ÿùüèþ"


r   c                   @   s¶  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d	„ ƒZ
ej d
ejddged�ej	ddgd�ej	ddgd�g¡dd„ ƒZdd„ Zej de ddg¡dfe ddg¡dfe e dddgf¡d¡e ddgdf¡dfe ddg¡dfe e dddgf¡d¡e e ddgdf¡d¡g¡dd„ ƒZej dejdddgdd�jdd�ejdddgdd�jdd�gddifg¡d d!„ ƒZed"d#„ ƒZdS )$Ú
TestRaisesz	cls, axesr   )r   r/   r   r   )r   Úcolumnsrb   c              	   C   sR   |f |Ž}|j jdkst‚d}tjtjj|d�� |f |Žjdd� W 5 Q R X d S )NTúIndex has duplicates.©ÚmatchFr   )	r
   r	   r   r<   Úraisesr   ÚerrorsÚDuplicateLabelErrorr   )r   r   Zaxesr   Úmsgr   r   r   Útest_set_flags_with_duplicates
  s
    

z)TestRaises.test_set_flags_with_duplicatesr   r   r   ©rb   c              	   C   s>   d}t jtjj|d�� d|j_W 5 Q R X |jjdks:t‚d S )Nrc   rd   FT)r<   rf   r   rg   rh   r
   r	   r   )r   r   ri   r   r   r   Ú+test_setting_allows_duplicate_labels_raises  s    	z6TestRaises.test_setting_allows_duplicate_labels_raisesc              	   C   sd   t jdddgd�}t jddgddgd�jdd�}d}tjt jj|d	�� t  ||g¡ W 5 Q R X d S )
Nr   r   r   r   r   Fr   rc   rd   )r   r   r   r<   rf   rg   rh   rE   ©r   r   r   ri   r   r   r   Útest_series_raises*  s
    zTestRaises.test_series_raiseszgetter, targetr   Nr+   Zilocc              	   C   sj   t jddgddgdœddgd�jd	d
�}|r8t||ƒ}n|}d}tjt jj|d�� ||ƒ W 5 Q R X d S )Nr   r   r&   r'   r(   r   r   r   Fr   rc   rd   )r   r*   r   Úgetattrr<   rf   rg   rh   )r   ÚgetterÚtargetr-   ri   r   r   r   Útest_getitem_raises1  s     ÿzTestRaises.test_getitem_raisesrA   r   rD   Fr   r   rC   c              	   C   s4   d}t jtjj|d�� tj|f|Ž W 5 Q R X d S )Nrc   rd   )r<   rf   r   rg   rh   rE   )r   rF   rG   ri   r   r   r   Útest_concat_raisesM  s    zTestRaises.test_concat_raisesc              	   C   s|   t jddddgidddgd�jd	d
�}t jddddgidddgd�}d}tjt jj|d�� t j||ddd� W 5 Q R X d S )Nr   r   r   r   r   r   r#   r   Fr   r)   rc   rd   TrI   )r   r*   r   r<   rf   rg   rh   rK   rm   r   r   r   Útest_merge_raisesb  s    ÿzTestRaises.test_merge_raises)rV   rW   rX   r<   r=   rY   r   r   r0   r*   rj   rl   rn   r7   r\   r`   rr   r   rs   r_   rt   r   r   r   r   ra   	  s\   üþ	
ýþ
÷þ
ÿÿü÷ÿþ
ra   Úidxr   r   gš™™™™™ñ?rS   ÚDr   Z1D)r   r   c                 C   s
   t | ƒjS rJ   )ÚtyperV   ©Úxr   r   r   Ú<lambda>z  ó    rz   )Zidsc              	   C   s²   d}t jtjj|d�� tjd| d�jdd� W 5 Q R X t jtjj|d��$ tjdddgi| d�jdd� W 5 Q R X t jtjj|d��" tjddgg| d	�jdd� W 5 Q R X d S )
Nrc   rd   r   r   Fr   r   r   rk   )r<   rf   r   rg   rh   r   r   r*   )ru   ri   r   r   r   Útest_raises_basicm  s     (r|   c                  C   sX   t  dddddg¡} |  ¡ }t jdddgddggit jddgd	d
�d�}t ||¡ d S )Nr   r   r#   Ú	positionsr   r   r   r&   Úlabelr5   r   )r   ÚIndexÚ_format_duplicate_messager*   ÚtmÚassert_frame_equal©ru   r   rN   r   r   r   Ú$test_format_duplicate_labels_messageˆ  s     ÿr„   c                  C   sd   t j dgdddddgg¡} |  ¡ }t jdddgdd	ggit j dgddgg¡d
�}t ||¡ d S )Nr   r   r   r#   r}   r   r   r   r&   r   )r   Ú
MultiIndexZfrom_productr€   r*   r�   r‚   rƒ   r   r   r   Ú*test_format_duplicate_labels_message_multi‘  s    þr†   c               	   C   sR   t  dddgi¡jdd�} d}tjt|d�� | jddd	d
gdd� W 5 Q R X d S )Nr   r   r   Fr   úCannot specifyrd   r   r&   r'   T)Zallow_duplicates)r   r*   r   r<   rf   Ú
ValueErrorÚinsert)r-   ri   r   r   r   Útest_dataframe_insert_raises›  s    rŠ   zmethod, frame_onlyZ	set_indexr   T)ZinplaceZreset_indexr   c                 C   s   | S rJ   r   rx   r   r   r   rz   §  r{   Fc              	   C   s€   t  ddgddgdœ¡jdd�}|d }d|j_d}tjt|d	�� | |ƒ W 5 Q R X |s|tjt|d	�� | |ƒ W 5 Q R X d S )
Nr   r   r   r(   Fr   r   r‡   rd   )r   r*   r   r
   r	   r<   rf   rˆ   )ÚmethodZ
frame_onlyr-   r    ri   r   r   r   Útest_inplace_raises¢  s    	ÿrŒ   c                  C   s\   t  ddg¡jdd�} t | ¡}t | |¡ t  dg i¡jdd�} t | ¡}t | |¡ d S )Nr   r   Fr   r   )r   r   r   r�   Zround_trip_pickleZassert_series_equalr*   r‚   )r   r   r   r   r   Útest_pickle¹  s    

r�   )#Ú__doc__r7   ÚnumpyrZ   r<   Zpandasr   Zpandas._testingZ_testingr�   r=   r>   r_   r   ra   rY   r   ZPeriodIndexZPeriodZDatetimeIndexÚ	TimestampZTimedeltaIndexZ	TimedeltaZCategoricalIndexZIntervalIndexZIntervalr…   Úfrom_tuplesr|   r„   r†   rŠ   r8   rŒ   r�   r   r   r   r   Ú<module>   sH    zd÷ó
	
ýþ
