U
    ÎZj»a  ã                   @   sp   d dl Zd dlZd dlm  mZ d dlZd dlm	Z	m
Z
mZmZ d dlmZ e ¡ dd„ ƒZG dd„ dƒZdS )é    N)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesc                      s&   G ‡ fdd„dt ƒ‰ ˆ ddddgiƒS )Nc                       s   e Zd Ze‡ fdd„ƒZdS )z2gpd_style_subclass_df.<locals>.SubclassedDataFramec                    s   ˆ S ©N© ©Úself©ÚSubclassedDataFramer   úc/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/frame/test_subclass.pyÚ_constructor   s    z?gpd_style_subclass_df.<locals>.SubclassedDataFrame._constructorN)Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r
   r   r   r      s   r   Úaé   é   é   )r   r   r   r
   r   Úgpd_style_subclass_df   s    r   c                   @   s0  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zej d#¡d$d%„ ƒZd&d'„ Zd(d)„ Zd*d+„ Zej d,d-d.g¡d/d0„ ƒZd1d2„ Zd3d4„ Zej d5d6„ ƒZ!d7d8„ Z"d9d:„ Z#d;d<„ Z$d=d>„ Z%d?d@„ Z&dAdB„ Z'dCdD„ Z(dES )FÚTestDataFrameSubclassingc                    s  G ‡fdd„dt ƒ‰G ‡ ‡fdd„dtƒ‰ tdƒtdƒdœ}ˆ |ƒ}t|ˆ ƒsRt‚|j}t|ˆƒsft‚| ¡ dksvt‚|dd	… }t|ˆ ƒs�t‚| ¡ dks t‚t 	d
dg¡}ˆ ddgddgg|d�}t|d ˆ ƒsØt‚t 	ddg¡}ˆ ddgddgg|d�}t|d ˆƒ�st‚d S )Nc                       s$   e Zd Ze‡ fdd„ƒZdd„ ZdS )zQTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomSeriesc                    s   ˆ S r   r   r   ©ÚCustomSeriesr   r   r       s    z^TestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomSeries._constructorc                 S   s   dS ©NÚOKr   r   r   r   r   Úcustom_series_function$   s    zhTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomSeries.custom_series_functionN)r   r   r   r   r   r   r   r   r   r   r      s   r   c                       sB   e Zd ZdZddœ‡ fdd„Ze‡fdd„ƒZ”Zdd	„ Z‡  Z	S )
zTTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFramez‚
            Subclasses pandas DF, fills DF with simulation results, adds some
            custom plotting functions.
            N)Úreturnc                    s   t ƒ j||Ž d S r   )ÚsuperÚ__init__)r	   ÚargsÚkw©Ú	__class__r   r   r   -   s    z]TestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFrame.__init__c                    s   ˆ S r   r   r   )ÚCustomDataFramer   r   r   0   s    zaTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFrame._constructorc                 S   s   dS r   r   r   r   r   r   Úcustom_frame_function6   s    zjTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFrame.custom_frame_function)
r   r   r   Ú__doc__r   r   r   Z_constructor_slicedr%   Ú__classcell__r   ©r$   r   r"   r   r$   '   s   r$   é
   )Úcol1Zcol2r   r   é   )ÚAr,   )r,   ÚBr   r   r   ©Úcolumnsr,   )r,   Ú )r-   r0   )
r   r   ÚrangeÚ
isinstanceÚAssertionErrorr*   r   r%   r   Úfrom_tuples)r	   ÚdataZcdfZ
cdf_seriesZcdf_rowsZmcolZ	cdf_multiZ
cdf_multi2r   r(   r   Ú"test_frame_subclassing_and_slicing   s"    z;TestDataFrameSubclassing.test_frame_subclassing_and_slicingc                 C   sè   t jdddgdddgdœdddgd�}d	|_|jd	ks:t‚|d
g jd	ksNt‚|jddgd d …f jd	ksnt‚|jddgd d …f jd	ksŽt‚|jdd…d d …f jd	ks®t‚t  |¡}t  ||¡ |j|jksÔt‚|j|jksät‚d S )Nr   r   r   )ÚXÚYr   ÚbÚc©ÚindexÚXXXr7   r   )	Útmr   Ztestattrr3   ÚlocÚilocZround_trip_pickleÚassert_frame_equalÚ	_metadata)r	   ÚdfZ	unpickledr   r   r   Útest_dataframe_metadataR   s     ÿ   
z0TestDataFrameSubclassing.test_dataframe_metadatac                 C   sê  t jdddgdddgddd	gd
œdddgd�}|jd d …df }t jdddgtdƒdd�}t  ||¡ t|t jƒsvt‚|jd d …df }t jdddgtdƒdd�}t  ||¡ t|t jƒs¾t‚|jd d …df }t jddd	gtdƒdd�}t  ||¡ t|t jƒ�st‚|jdd d …f }t jdddgtdƒdd�}t  ||¡ t|t jƒ�sRt‚|jdd d …f }t jdddgtdƒdd�}t  ||¡ t|t jƒ�sœt‚|jdd d …f }t jddd	gtdƒdd�}t  ||¡ t|t jƒ�sæt‚d S )Nr   r   r   é   r+   é   é   é   é	   )r7   r8   ÚZr   r9   r:   r;   r7   Úabc©r<   Únamer8   rJ   ZXYZ)	r>   r   r?   ÚSubclassedSeriesÚlistÚassert_series_equalr2   r3   r@   ©r	   rC   ÚresÚexpr   r   r   Útest_indexing_slicedf   s8     ÿz-TestDataFrameSubclassing.test_indexing_slicedc              	   C   s6   G dd„ dt ƒ}tjtdd�� |ƒ j W 5 Q R X d S )Nc                   @   s   e Zd Zedd„ ƒZdS )zFTestDataFrameSubclassing.test_subclass_attr_err_propagation.<locals>.Ac                 S   s   | j S r   )Zi_dont_existr   r   r   r   ÚbarŒ   s    zJTestDataFrameSubclassing.test_subclass_attr_err_propagation.<locals>.A.barN)r   r   r   r   rU   r   r   r   r   r,   ‹   s   r,   z.*i_dont_exist.*)Úmatch)r   ÚpytestZraisesÚAttributeErrorrU   )r	   r,   r   r   r   Ú"test_subclass_attr_err_propagation‰   s    z;TestDataFrameSubclassing.test_subclass_attr_err_propagationc                 C   sP  t jdddgdddgdœtdƒd�}t jdddgdddgd	œtd
ƒd�}|j|dd�\}}t jdtjdtjdgdtjdtjdgdœtdƒd�}t jddtjdtjgddtjdtjgd	œtdƒd�}t|t jƒsÒt‚t  ||¡ t|t jƒsît‚t  ||¡ |j	 |j
¡\}}t|t jƒ�st‚t  ||j	¡ t|t jƒ�s>t‚t  ||j
¡ d S )Nr   r   r+   ©r   r9   ÚACEr;   r   rE   )r:   ÚdÚABDr   ©ÚaxisÚABCDE)r>   r   rO   ÚalignÚnpÚnanr2   r3   rA   r   r:   rN   rP   )r	   Údf1Údf2Úres1Úres2Úexp1Úexp2r   r   r   Útest_subclass_align“   s4     ÿ ÿ$þ$þz,TestDataFrameSubclassing.test_subclass_alignc                 C   s*  t jdddgdddgdœtdƒd�}t jdddgtd	ƒd
d�}|j|dd�\}}t jdtjdtjdgdtjdtjdgdœtdƒd�}t jddtjdtjgtdƒd
d�}t|t jƒs¶t‚t  	||¡ t|t jƒsÒt‚t  
||¡ | |¡\}}t|t jƒsüt‚t  
||¡ t|t jƒ�st‚t  	||¡ d S )Nr   r   r+   rZ   r[   r;   r   rE   r]   ÚxrL   r   r^   r`   )r>   r   rO   rN   ra   rb   rc   r2   r3   rA   rP   )r	   rC   Úsrf   rg   rh   ri   r   r   r   Ú test_subclass_align_combinations°   s*    $$þ  ÿz9TestDataFrameSubclassing.test_subclass_align_combinationsc                 C   sH   t  ddgi¡}| ¡ D ]*\}}t|t jƒs0t‚t  ||j| ¡ qd S )Nr   r   )r>   r   Ziterrowsr2   rN   r3   rP   r?   )r	   rC   ÚiÚrowr   r   r   Útest_subclass_iterrowsÌ   s    z/TestDataFrameSubclassing.test_subclass_iterrowsc              
   C   sx   t jdddgdddgddd	ggd
ddgdddgd�}| ¡ }t jddddddddd	g	tdƒtdƒgd�}t  ||¡ d S )Nr   r   r   rE   r+   rF   rG   rH   rI   r   r9   r:   r7   r8   rJ   ©r<   r/   Z	aaabbbcccZ	XYZXYZXYZr;   )r>   r   ÚstackrN   rO   rP   rQ   r   r   r   Útest_subclass_stackÓ   s    ý ÿz,TestDataFrameSubclassing.test_subclass_stackc              
   C   s¤  t jddddgddddgd	d
ddgddddggtjtttdƒtdƒƒƒddgd�tjtttdƒtdƒƒƒddgd�d�}t jddgddgddgddgd	dgd
dgddgddggtjtttdƒtdƒtdƒƒƒdddgd�tddgdd �d�}| ¡ }t  ||¡ | d¡}t  ||¡ t jddgddgddgddgd	d
gddgddgddggtjtttdƒtdƒtd!ƒƒƒdddgd�td"d#gdd �d�}| d¡}t  ||¡ d S )$Nr)   é   é   é   é   é   é   é   é   é   é    é!   é(   é)   é*   é+   ÚAABBÚcdcdÚaaaÚccc©ÚnamesÚWWXXÚyzyzÚwwwÚyyyrq   ÚAAAABBBBÚccddccddÚyzyzyzyzÚWr7   ©rM   ÚWXWXWXWXÚyÚz©	r>   r   r   r4   rO   Úzipr   rr   rA   ©r	   rC   rS   rR   r   r   r   Útest_subclass_stack_multiâ   sb    * ÿ ÿû
ø
þñ
ø
þñ
z2TestDataFrameSubclassing.test_subclass_stack_multic              
   C   s¤  t jddddgddddgd	d
ddgddddggtjtttdƒtdƒƒƒddgd�tjtttdƒtdƒƒƒddgd�d�}t jddgddgddgddgd	dgd
dgddgddggtjtttdƒtdƒtdƒƒƒdddgd�tddgdd �d�}| ¡ }t  ||¡ | d¡}t  ||¡ t jd!d"gddgd#d$gddgd%d&gddgd'd(gddggtjtttdƒtdƒtd)ƒƒƒdddgd�td*d+gdd �d�}| d¡}t  ||¡ d S ),Nr)   rt   ç      (@ç      *@rw   rx   ç      6@ç      7@r{   r|   ç      @@ç     €@@r   r€   ç      E@ç     €E@rƒ   r„   r…   r†   r‡   r‰   rŠ   r‹   rŒ   rq   r�   rŽ   r�   r�   r7   r‘   g      $@g      &@g      4@ç      5@g      >@g      ?@g      D@g     €D@r’   r“   r”   r•   r—   r   r   r   Útest_subclass_stack_multi_mixed  sj    



ü ÿ ÿöø
þñ
ø
þñ
z8TestDataFrameSubclassing.test_subclass_stack_multi_mixedc              
   C   sx   t jdddgdddgddd	ggd
ddgdddgd�}| ¡ }t jddddddddd	g	tdƒtdƒgd�}t  ||¡ d S )Nr   r   r   rE   r+   rF   rG   rH   rI   r   r9   r:   r7   r8   rJ   rq   Z	XXXYYYZZZZ	abcabcabcr;   )r>   r   ÚunstackrN   rO   rP   rQ   r   r   r   Útest_subclass_unstackY  s    ý ÿz.TestDataFrameSubclassing.test_subclass_unstackc              
   C   sŒ  t jddddgddddgd	d
ddgddddggtjtttdƒtdƒƒƒddgd�tjtttdƒtdƒƒƒddgd�d�}t jddddddddgd	dd
dddddggtddgdd�tjtttdƒtdƒtd ƒƒƒdddgd�d�}| ¡ }t  ||¡ | d¡}t  ||¡ t jdd	dd
ddddgddddddddggtd!d"gdd�tjtttdƒtdƒtd#ƒƒƒdddgd�d�}| d¡}t  ||¡ d S )$Nr)   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   r‰   rŠ   r‹   rŒ   rq   r,   r-   r‘   ÚWWWWXXXXÚyyzzyyzzÚcdcdcdcdr:   r\   ÚABABABAB©	r>   r   r   r4   rO   r–   r   r£   rA   r—   r   r   r   Útest_subclass_unstack_multih  sB    * ÿ ÿû
&þý	
&þý	
z4TestDataFrameSubclassing.test_subclass_unstack_multic              
   C   sŒ  t jddddgddddgd	d
ddgddddggtjtttdƒtdƒƒƒddgd�tjtttdƒtdƒƒƒddgd�d�}t jddddddddgd	dd
dddddggtddgdd�tjtttdƒtdƒtd ƒƒƒdddgd�d�}| ¡ }t  ||¡ | d¡}t  ||¡ t jdd	dd
ddddgddddddddggtd!d"gdd�tjtttdƒtdƒtd#ƒƒƒdddgd�d�}| d¡}t  ||¡ d S )$Nr)   rt   r™   rš   rw   rx   r›   rœ   r{   r|   r�   rž   r   r€   rŸ   r    rƒ   r„   r…   r†   r‡   r‰   rŠ   r‹   rŒ   rq   r,   r-   r‘   r¥   r¦   r§   r:   r\   r¨   r©   r—   r   r   r   Ú!test_subclass_unstack_multi_mixed�  sR    



ü ÿ ÿöþþú
þþú
z:TestDataFrameSubclassing.test_subclass_unstack_multi_mixedc              
   C   s†   t  ddddddgddddddgddddddgd	œ¡}|jd
ddd	�}t  ddddœddddœdœ¡}d\|j_|j_t  ||¡ d S )Nr,   r-   ÚCÚOneÚTwog      ð?g       @g      @)r<   r/   Úvaluesr<   r/   r¯   ©r,   r-   r¬   )r­   r®   rq   )r>   r   Zpivotr<   rM   r/   rA   )r	   rC   ZpivotedÚexpectedr   r   r   Útest_subclass_pivotÁ  s    ýÿ

þÿz,TestDataFrameSubclassing.test_subclass_pivotc                 C   s„   t  ddgddgddgddgd	œ¡}tj|d
dgd�}t jddddgddddgddddgddddggd
dddgd�}t  ||¡ d S )NÚJohnÚMaryÚDoeÚBoç      @ç      @é‚   é–   )ÚfirstÚlastÚheightÚweightr»   r¼   )Zid_varsr½   r¾   ÚvariableÚvaluer.   )r>   r   ÚpdZmeltrA   )r	   ZcheeseZmeltedr±   r   r   r   Útest_subclassed_meltØ  s"    üÿ	



ü
ù
z-TestDataFrameSubclassing.test_subclassed_meltc              
   C   sú   t j d¡ t j d¡}t ddddœddd	dœd
dddœddddœtttdƒ|ƒƒdœ¡}|j	|d< | 
¡ | 
¡  dddddd	gd
dddddgddddddgddddddgdœ}t |¡}| ddg¡dddg }tj|ddgddd�}t ||¡ d S )Né{   r   r   r9   r:   )r   r   r   r\   ÚeÚfg      @g333333ó?gffffffæ?gš™™™™™	@gÍÌÌÌÌÌô?gš™™™™™¹?)ZA1970ZA1980ZB1970ZB1980r7   Úidi²  i¼  r   r   r   )r7   r,   r-   ÚyearrÆ   rÇ   r7   r,   r-   )rn   Új)rb   ÚrandomÚseedÚrandnr>   r   Údictr–   r1   r<   ÚtolistZ	set_indexrÁ   Zwide_to_longrA   )r	   rk   rC   Zexp_datar±   Z
long_framer   r   r   Útest_subclassed_wide_to_longñ  s*    



ûÿ

û
z5TestDataFrameSubclassing.test_subclassed_wide_to_longc                    sÐ  dd„ ‰ dd„ ‰t jddddgd	d
ddgddddgd	d
ddggddddgd�}| ‡ fdd„¡ |j‡ fdd„dd� t jddddgd	d
ddgddddgd	d
ddggddddgd�}|j‡fdd„dd�}t|t jƒsÚt‚t  ||¡ t  dddgdddgdddgdddgg¡}|jdd„ dd�}t|t jƒ�s4t‚t  ||¡ |jdd„ ddd �}t|t jƒ�sft‚t  ||¡ t  dddgdddgdddgdddgg¡}|jd!d„ dd�}t|t jƒ�rÀt‚t  ||¡ d S )"Nc                 S   s   t | tjƒst‚d S r   )r2   r>   rN   r3   ©ro   r   r   r   Úcheck_row_subclass  s    zJTestDataFrameSubclassing.test_subclassed_apply.<locals>.check_row_subclassc                 S   s    | d dkr| d  d7  < | S )Nr¿   r½   rÀ   g      à?r   rÏ   r   r   r   Ústretch  s    z?TestDataFrameSubclassing.test_subclassed_apply.<locals>.stretchr³   rµ   r½   r·   r´   r¶   r¸   r¾   r¹   rº   r»   r¼   r¿   rÀ   r.   c                    s   ˆ | ƒS r   r   ©rk   ©rÐ   r   r   Ú<lambda>#  ó    z@TestDataFrameSubclassing.test_subclassed_apply.<locals>.<lambda>c                    s   ˆ | ƒS r   r   rÒ   rÓ   r   r   rÔ   $  rÕ   r   r^   g      @c                    s   ˆ | ƒS r   r   rÒ   )rÑ   r   r   rÔ   0  rÕ   r   r   c                 S   s   t  dddg¡S ©Nr   r   r   )r>   rN   rÒ   r   r   r   rÔ   6  rÕ   c                 S   s
   dddgS rÖ   r   rÒ   r   r   r   rÔ   :  rÕ   Úexpand)r_   Zresult_typec                 S   s
   dddgS rÖ   r   rÒ   r   r   r   rÔ   @  rÕ   )r>   r   Úapplyr2   r3   rA   rN   rP   )r	   rC   r±   Úresultr   )rÐ   rÑ   r   Útest_subclassed_apply  sD    



ü
ù




ü
ù
**z.TestDataFrameSubclassing.test_subclassed_applyz*ignore:.*None will no longer:FutureWarningc                 C   sD   t  dddgdddgddd	gd
œ¡}t||ƒƒ }t|t jƒs@t‚d S ©Nr   r   r   rE   r+   rF   rG   rH   rI   r°   ©r>   r   Úgetattrr2   rN   r3   )r	   Zall_reductionsrC   rÙ   r   r   r   Útest_subclassed_reductionsD  s    $z3TestDataFrameSubclassing.test_subclassed_reductionsc              	   C   sX  t  dddddgdtjdddgdd	d	d	dgd
œ¡}| ¡ }t|t jƒsJt‚t  dddgdddgdddgdœ¡}| ¡ }t|t jƒs†t‚t jddddgddddgddddgddd d!ggtj	t
tt
d"ƒt
d#ƒƒƒd$d%gd&�tj	t
tt
d'ƒt
d(ƒƒƒd)d*gd&�d+�}t  t¡� |jdd,�}W 5 Q R X t|t jƒ�s2t‚t  ¡ }| ¡ }t|t jƒ�sTt‚d S )-Nr³   ZMylaZLewisg      8@r¡   r~   é   FT)ZPersonZAgeÚSingler   r   r   r+   rF   rG   rH   r°   r)   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   r‰   rŠ   r‹   rŒ   rq   )Úlevel)r>   r   rb   rc   Úcountr2   rN   r3   r   r4   rO   r–   Zassert_produces_warningÚFutureWarning©r	   rC   rÙ   r   r   r   Útest_subclassed_countL  s8    ýÿ$* ÿ ÿû	z.TestDataFrameSubclassing.test_subclassed_countc                 C   sB   t jddgddgdœddgd�}| ddg¡}t|t jƒs>t‚d S )Nr   rE   r   )Znum_legsZ	num_wingsZfalconÚdogr;   )r>   r   Úisinr2   r3   rä   r   r   r   Ú	test_isinm  s     ÿz"TestDataFrameSubclassing.test_isinc                 C   s`   t  dddgdddgddd	gd
œ¡}| ¡ }t|t jƒs<t‚t  ¡ }| ¡ }t|t jƒs\t‚d S rÛ   )r>   r   Z
duplicatedr2   rN   r3   rä   r   r   r   Útest_duplicatedu  s    $z(TestDataFrameSubclassing.test_duplicatedÚ
idx_methodÚidxmaxÚidxminc                 C   sD   t  dddgdddgddd	gd
œ¡}t||ƒƒ }t|t jƒs@t‚d S rÛ   rÜ   )r	   rê   rC   rÙ   r   r   r   Útest_idx  s    $z!TestDataFrameSubclassing.test_idxc                 C   s˜   t  ddddgddddgg¡}t  ddddg¡}| |¡}t|t jƒsJt‚t  ddddgddddgg¡}t  ddddg¡}| |¡}t|t jƒs”t‚d S )Nr   r   éþÿÿÿéÿÿÿÿr   )r>   r   rN   Údotr2   r3   )r	   rC   rl   rÙ   r   r   r   Útest_dot†  s    

z!TestDataFrameSubclassing.test_dotc                 C   s\   t  dddgdddgddd	gd
œ¡}| ¡ }t|t jƒs<t‚|jdd�}t|t jƒsXt‚d S )Nr   r   r   rE   r+   rF   rG   rH   rI   r°   Fr;   )r>   r   Zmemory_usager2   rN   r3   rä   r   r   r   Útest_memory_usage’  s
    $z*TestDataFrameSubclassing.test_memory_usagec                 C   s|   dddddg}dddd	g}t jtj d
d¡||d�}t jtj dd¡|d d… |d�}|j|dddd�}t|t jƒsxt‚d S )Nr   r9   r:   r\   rÄ   ÚoneÚtwoÚthreeÚfourr+   rE   rq   r   TZkendall)r_   ZdropÚmethod)	r>   r   rb   rÉ   rË   Zcorrwithr2   rN   r3   )r	   r<   r/   rd   re   Zcorrelsr   r   r   Útest_corrwith›  s      ÿ 
 ÿz&TestDataFrameSubclassing.test_corrwithc                 C   s¬   d}t jd|dd�}tjtjtjtjgtjtjtjgtjtjtjgdœ|d�}| |dd … ¡}t|tjƒspt‚| |d ¡}t|tj	ƒsŽt‚| d¡}t|tj	ƒs¨t‚d S )	Nr   z1/1/1990Z53s)ZperiodsÚfreqr°   r;   rî   z
1989-12-31)
rÁ   Z
date_ranger>   r   rb   rc   Zasofr2   r3   rN   )r	   ÚNÚrngrC   rÙ   r   r   r   Ú	test_asof©  s    ýú	
z"TestDataFrameSubclassing.test_asofc                 C   s@   t  dddgdddgddd	gd
œ¡}| ¡ }t|t jƒs<t‚d S rÛ   )r>   r   rì   r2   rN   r3   rä   r   r   r   Útest_idxmin_preserves_subclass¿  s    $z7TestDataFrameSubclassing.test_idxmin_preserves_subclassc                 C   s@   t  dddgdddgddd	gd
œ¡}| ¡ }t|t jƒs<t‚d S rÛ   )r>   r   rë   r2   rN   r3   rä   r   r   r   Útest_idxmax_preserves_subclassÆ  s    $z7TestDataFrameSubclassing.test_idxmax_preserves_subclassc                 C   sZ   t  dddgdddgddd	gd
œ¡}| ¡ }t|t jƒs<t‚| ¡ }t|t|ƒƒsVt‚d S rÛ   )r>   r   Zconvert_dtypesr2   r3   Útype)r	   r   rC   rÙ   r   r   r   Ú&test_convert_dtypes_preserves_subclassÍ  s
    $z?TestDataFrameSubclassing.test_convert_dtypes_preserves_subclassc                 C   sP   t  dddgdddgddd	gd
œ¡}| tjtjtjd
œ¡}t|t jƒsLt‚d S rÛ   )	r>   r   Zastyperb   Zint64Zint32Zfloat64r2   r3   rä   r   r   r   Útest_astype_preserves_subclassÖ  s    $z7TestDataFrameSubclassing.test_astype_preserves_subclassc                 C   sF   t ddddgiƒ}t ddddgi¡}| |¡s4t‚| |¡sBt‚d S )Nr   r   r   r   )r   r>   r   Úequalsr3   )r	   rd   re   r   r   r   Útest_equals_subclassÝ  s    z-TestDataFrameSubclassing.test_equals_subclassc                 C   sZ   t  ddddgi¡}|jddgdd�}t  ddddgi¡}t|t jƒsJt‚t  ||¡ d S )Nr,   r   r   r   Zffill)r÷   )r>   r   Úreplacer2   r3   rA   )r	   rC   rÙ   r±   r   r   r   Útest_replace_list_methodå  s
    z1TestDataFrameSubclassing.test_replace_list_methodN))r   r   r   r6   rD   rT   rY   rj   rm   rp   rs   r˜   r¢   r¤   rª   r«   r²   rÂ   rÎ   rÚ   rW   ÚmarkÚfilterwarningsrÞ   rå   rè   ré   Zparametrizerí   rñ   rò   ÚtdZskip_if_no_scipyrø   rü   rý   rþ   r   r  r  r  r   r   r   r   r      sF   7#
9>'26

!

	
	r   )Únumpyrb   rW   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsr  ZpandasrÁ   r   r   r   r   Zpandas._testingZ_testingr>   Zfixturer   r   r   r   r   r   Ú<module>   s   
	