o
    Û­jª8  ã                   @   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                   @   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g d¢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�ejdd&d'gd�gi fejdddgd�ejdddgd�gd(difejdddgd�ejdddgd�gd)difej
dddgiddgd�ej
dddgid&d'gd�gi fej
dddgiddgd�ej
dddgiddgd�gd(difej
dddgiddgd�ej
d*ddgiddgd�gd)difej
dddgiddgd�ejddgddg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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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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u sJ ‚||ƒjdd�}|j jdu sJ ‚d S )NTF©Úallows_duplicate_labels)Úflagsr	   Ú	set_flags)ÚselfÚclsÚdataÚresult© r   úg/var/www/html/CropPilot/venv/lib/python3.10/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u sJ ‚d S ©Nr   r   r   Úb©ÚindexFr   )ÚpdÚSeriesr   r
   r	   )r   r   Úsr   r   r   Útest_preserved_series!   s   z#TestPreserves.test_preserved_seriesÚotherr   ©r   r   Úcr   r   c                 C   sP   t jddgddgd�jd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   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	u s J ‚|jd d …ddgf jjd	u s1J ‚d S )Nr   r   é   é   ©r   ÚBr   r   r   Fr   r   r)   )r   Ú	DataFramer   Úlocr
   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u sJ ‚d S )N)ÚdtypeFr   )r   r   Úfloatr   Úto_framer
   r	   )r   Ú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ƒr"|r"| ¡ }t ||¡}|jjdu s0J ‚||ƒjjdu s:J ‚d S )	Nr   r   r   r   r   )r   r   Fr   )	r   r   r   r1   Ú
isinstanceÚoperatorÚmethodcallerr
   r	   )r   r   r!   r5   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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 s9J ‚|jddgf jjdu sGJ ‚d S )Nr   r   r   Fr   r   )r   r*   r   r
   r	   r+   r,   r   r   r   Útest_preserve_getitemU   s    z#TestPreserves.test_preserve_getitemc                 C   sh   |s|s|  tjjdd�¡ t ddgi¡jdd�}|d jjdu s$J ‚d|j_|d jjdu s2J ‚d S )NzUnclear behavior.r   r   r   Fr   T)	ÚapplymarkerÚpytestÚmarkÚxfailr   r*   r   r
   r	   )r   ÚrequestÚusing_copy_on_writeÚwarn_copy_on_writer-   r   r   r   Ú"test_ndframe_getitem_caching_issue]   s   z0TestPreserves.test_ndframe_getitem_caching_issueúobjs, kwargsr#   ÚdÚignore_indexÚaxisr)   ©r   r   c                 C   s4   dd„ |D ƒ}t j|fi |¤Ž}|jjdu sJ ‚d S )Nc                 S   ó   g | ]}|j d d�‘qS ©Fr   ©r   ©Ú.0Úxr   r   r   Ú
<listcomp>£   ó    z-TestPreserves.test_concat.<locals>.<listcomp>F)r   Úconcatr
   r	   )r   ÚobjsÚkwargsr   r   r   r   Útest_concati   s   :zTestPreserves.test_concatzleft, right, expectedr   )Úmarksc                 C   s&   t j||ddd�}|jj|u sJ ‚d S )NT©Ú
left_indexÚright_index)r   Úmerger
   r	   )r   ÚleftÚrightÚexpectedr   r   r   r   Ú
test_merge§   s    zTestPreserves.test_mergec                 C   sB   t  dg d¢i¡jd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   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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_ranger1   ÚrollingÚmeanr
   r	   ÚewmÚ	expanding)r   r5   r-   r   r   r   Útest_windowÕ   s   üzTestPreserves.test_windowN) Ú__name__Ú
__module__Ú__qualname__r=   r>   Úparametrizer   r   ÚnpÚarrayr*   r   r8   Ú
itemgetterr9   ÚstrÚupperr   r    Únot_implementedr%   r.   r3   r:   r;   rC   rT   Úparamr   r]   ra   rj   r   r   r   r   r      sÔ    üþ
	


úþ
$ÿþû	þû	þû
þû	þû	þû
þûÒþ
9ÿÿøÿú
ýêþ


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�ejdddg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   Úcolumnsrw   c                 C   sp   |di |¤Ž}|j jdu sJ ‚d}tjtjj|d�� |di |¤Žjdd� W d   ƒ d S 1 s1w   Y  d S )NTúIndex has duplicates.©ÚmatchFr   r   )r
   r	   r=   Úraisesr   ÚerrorsÚDuplicateLabelErrorr   )r   r   Úaxesr   Úmsgr   r   r   Útest_set_flags_with_duplicatesê   s   
"ÿz)TestRaises.test_set_flags_with_duplicatesr   r   r   ©rw   c                 C   sR   d}t jtjj|d�� d|j_W d   ƒ n1 sw   Y  |jjdu s'J ‚d S )Nrx   ry   FT)r=   r{   r   r|   r}   r
   r	   )r   r   r   r   r   r   Ú+test_setting_allows_duplicate_labels_raisesû   s
   	
ÿz6TestRaises.test_setting_allows_duplicate_labels_raisesc                 C   sz   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 d   ƒ d S 1 s6w   Y  d S )
Nr   r   r   r   r   Fr   rx   ry   )r   r   r   r=   r{   r|   r}   rQ   ©r   r   r   r   r   r   r   Útest_series_raises
  s   "ÿzTestRaises.test_series_raiseszgetter, targetr   Nr+   Úilocc                 C   s€   t jddgddgdœddgd�jd	d
�}|rt||ƒ}n|}d}tjt jj|d�� ||ƒ W d   ƒ d S 1 s9w   Y  d S )Nr   r   r&   r'   r(   r   r   r   Fr   rx   ry   )r   r*   r   Úgetattrr=   r{   r|   r}   )r   ÚgetterÚtargetr-   r   r   r   r   Útest_getitem_raises  s    ÿ
"ÿzTestRaises.test_getitem_raisesrD   r   rH   r   rG   c                 C   s\   dd„ |D ƒ}d}t jtjj|d�� tj|fi |¤Ž W d   ƒ d S 1 s'w   Y  d S )Nc                 S   rI   rJ   rK   rL   r   r   r   rO   :  rP   z1TestRaises.test_concat_raises.<locals>.<listcomp>rx   ry   )r=   r{   r   r|   r}   rQ   )r   rR   rS   r   r   r   r   Útest_concat_raises-  s
   "ÿzTestRaises.test_concat_raisesc                 C   sŠ   t jdg d¢ig d¢d�jdd�}t jdg d¢ig d¢d�}d	}tjt jj|d
�� t j||ddd� W d   ƒ d S 1 s>w   Y  d S )Nr   )r   r   r   r"   r   Fr   r)   )r   r   r   rx   ry   TrV   )r   r*   r   r=   r{   r|   r}   rY   rƒ   r   r   r   Útest_merge_raises?  s   ÿ"ÿzTestRaises.test_merge_raises)rk   rl   rm   r=   r>   rn   r   r   r0   r*   r€   r‚   r„   r8   rq   ru   r‰   rŠ   rt   r‹   r   r   r   r   rv   é   sV    üþ
	ýþ
÷þ
þûÿþ
rv   Úidxr   r   gš™™™™™ñ?rb   ÚDr   Ú1D)r   r   c                 C   s
   t | ƒjS ©N)Útyperk   ©rN   r   r   r   Ú<lambda>W  s   
 r’   )Úidsc                 C   sð   d}t jtjj|d�� tjd| d�jdd� W d   ƒ n1 s!w   Y  t jtjj|d�� tjdddgi| d�jdd� W d   ƒ n1 sIw   Y  t jtjj|d�� tjddgg| d	�jdd� W d   ƒ d S 1 sqw   Y  d S )
Nrx   ry   r   r   Fr   r   r   r�   )r=   r{   r   r|   r}   r   r   r*   )rŒ   r   r   r   r   Útest_raises_basicJ  s   ÿ ÿ"ÿr”   c                  C   sR   t  g d¢¡} |  ¡ }t jdddgddggit jddgd	d
�d�}t ||¡ d S )N©r   r   r   r   r#   Ú	positionsr   r   r   r&   r   r   Úlabelr6   r   )r   ÚIndexÚ_format_duplicate_messager*   ÚtmÚassert_frame_equal©rŒ   r   r\   r   r   r   Ú$test_format_duplicate_labels_messagee  s   "ÿr�   c                  C   s^   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¡d
�}t ||¡ d S )Nr   r•   r–   r   r   r   r&   r   r   r   )r   Ú
MultiIndexÚfrom_productr™   r*   rš   r›   rœ   r   r   r   Ú*test_format_duplicate_labels_message_multin  s   þr    c                  C   sh   t  dddgi¡jdd�} d}tjt|d�� | jddd	d
gdd� W d   ƒ d S 1 s-w   Y  d S )Nr   r   r   Fr   úCannot specifyry   r   r&   r'   T)Úallow_duplicates)r   r*   r   r=   r{   Ú
ValueErrorÚinsert)r-   r   r   r   r   Útest_dataframe_insert_raisesx  s
   "ÿr¥   zmethod, frame_onlyÚ	set_indexr   T)ÚinplaceÚreset_indexr   c                 C   s   | S r�   r   r‘   r   r   r   r’   „  s    Fc                 C   s®   t  ddgddgdœ¡jdd�}|d }d|j_d}tjt|d	�� | |ƒ W d   ƒ n1 s0w   Y  |sUtjt|d	�� | |ƒ W d   ƒ d S 1 sNw   Y  d S d S )
Nr   r   r   r(   Fr   r   r¡   ry   )r   r*   r   r
   r	   r=   r{   r£   )ÚmethodÚ
frame_onlyr-   r   r   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š   Úround_trip_pickleÚassert_series_equalr*   r›   )r   r   r   r   r   Útest_pickle–  s   

r®   )#Ú__doc__r8   Únumpyro   r=   Úpandasr   Úpandas._testingÚ_testingrš   r>   r?   rt   r   rv   rn   r˜   ÚPeriodIndexÚPeriodÚDatetimeIndexÚ	TimestampÚTimedeltaIndexÚ	TimedeltaÚCategoricalIndexÚIntervalIndexÚIntervalrž   Úfrom_tuplesr”   r�   r    r¥   r9   r«   r®   r   r   r   r   Ú<module>   sJ     Za÷ó
	
ýþ
