U
    `»{j4?  ã                   @   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#g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                   @   s^  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ejded�g¡ej ddejddgdd�g¡d d!„ ƒƒƒZd"d#„ Zejjd$d%�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/d0„ ƒZej d1e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d2œde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�ddd2œded�ej
dddgiddgd�ej
d-ddgidd*gd�ddd2œdfg¡d3d4„ ƒZed5d6„ ƒZej dddg¡ed7d8„ ƒƒZ d9S ):Ú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   úi/var/www/html/bwave/python/venv/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)Zmarks©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_getitemW   s    z#TestPreserves.test_preserve_getitemzUnclear behavior.r   c                 C   sL   t  ddgi¡jdd�}|d jjdks,t‚d|j_|d jjdksHt‚d S )Nr   r   Fr   T)r   r*   r   r
   r	   r   r,   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_concath   s    VzTestPreserves.test_concatzleft, right, kwargs, expected©Z
left_indexZright_indexc                 C   s$   t j||f|Ž}|jj|ks t‚d S ©N)r   Úmerger
   r	   r   )r   ÚleftÚrightrB   Ú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__ÚpytestÚmarkÚparametrizer   r   ÚnpÚarrayr*   r   r7   Ú
itemgetterr8   ÚstrÚupperr   r!   Únot_implementedr%   r.   r2   Úparamr9   r:   Úxfailr;   r   rC   rJ   rM   rP   r   r   r   r   r      s  üþ	



úþ
 $ÿ ÿ
ÿÿü÷ÿÿü÷ÿÿü÷ÿÿü÷ÿÿü÷ÿÿü÷ÿÿü÷ºþU
ÿÿ÷ÿùüèþ"


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   Úcolumnsr`   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   rT   Ú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   ©r`   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 )Nra   rb   FT)rT   rd   r   re   rf   r
   r	   r   )r   r   rg   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   ra   rb   )r   r   r   rT   rd   re   rf   r@   ©r   r   r   rg   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   ra   rb   )r   r*   r   ÚgetattrrT   rd   re   rf   )r   ÚgetterÚtargetr-   rg   r   r   r   Útest_getitem_raises.  s     ÿzTestRaises.test_getitem_raisesr<   r   r?   Fr   r   r>   c              	   C   s4   d}t jtjj|d�� tj|f|Ž W 5 Q R X d S )Nra   rb   )rT   rd   r   re   rf   r@   )r   rA   rB   rg   r   r   r   Útest_concat_raisesJ  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)   ra   rb   TrD   )r   r*   r   rT   rd   re   rf   rF   rk   r   r   r   Útest_merge_raises_  s    ÿzTestRaises.test_merge_raises)rQ   rR   rS   rT   rU   rV   r   r   r0   r*   rh   rj   rl   r7   rY   r]   rp   r   rq   r\   rr   r   r   r   r   r_     s\   üþ	
ýþ
÷þ
ÿÿü÷ÿþ
r_   Úidxr   r   gš™™™™™ñ?rN   ÚDr   Z1D)r   r   c                 C   s
   t | ƒjS rE   )ÚtyperQ   ©Úxr   r   r   Ú<lambda>w  ó    rx   )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 )
Nra   rb   r   r   Fr   r   r   ri   )rT   rd   r   re   rf   r   r   r*   )rs   rg   r   r   r   Útest_raises_basicj  s     (rz   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©rs   r   rI   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 specifyrb   r   r&   r'   T)Zallow_duplicates)r   r*   r   rT   rd   Ú
ValueErrorÚinsert)r-   rg   r   r   r   Útest_dataframe_insert_raises˜  s    rˆ   zmethod, frame_onlyZ	set_indexr   T)ZinplaceÚset_axisr)   FZreset_indexr   c                 C   s   | S rE   r   rv   r   r   r   rx   ¥  ry   c              
   C   sÎ   t  ddgddgdœ¡jdd�}|d }d|j_d}d	}d
t| ƒkrJt}nd }tjt	|d��( t
j||d�� | |ƒ W 5 Q R X W 5 Q R X |sÊtjt	|d��( t
j||d�� | |ƒ W 5 Q R X W 5 Q R X d S )Nr   r   r   r(   Fr   r   r…   z!Series.set_axis 'inplace' keywordr‰   rb   )r   r*   r   r
   r	   rZ   ÚFutureWarningrT   rd   r†   r   Zassert_produces_warning)ÚmethodZ
frame_onlyr-   r    rg   Zwarn_msgÚwarnr   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   ÚnumpyrW   rT   Zpandasr   Zpandas._testingZ_testingr   rU   r^   r\   r   r_   rV   r}   ZPeriodIndexZPeriodZDatetimeIndexÚ	TimestampZTimedeltaIndexZ	TimedeltaZCategoricalIndexZIntervalIndexZIntervalrƒ   Úfrom_tuplesrz   r‚   r„   rˆ   r8   r�   rŽ   r   r   r   r   Ú<module>   sJ    wd÷ó
	
üþ	
