U
    *¿if­  ã                   @   sJ   d dl Zd dlZd dlZd dlmZmZmZ d dlm	Z
 G dd„ dƒZdS )é    N)ÚCategoricalÚ
MultiIndexÚSeriesc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestSeriesCountc              	   C   sö   t dddgddddggdddd	d	gd	dd
d
d	ggd}ttj t|ƒ¡|d}t t¡ |j	dd}W 5 Q R X |j
dd 	¡ }t | d¡| |j¡ d¡¡ t t¡ |j	d
d}W 5 Q R X |j
d
d 	¡ }t | d¡| |j¡ d¡¡ d S )NZfooÚbarZbazÚoneÚtwoÚthreeÚfourr   é   é   )ZlevelsÚcodes©Úindex©ÚlevelZf8)r   r   ÚnpÚrandomZrandnÚlenÚtmÚassert_produces_warningÚFutureWarningÚcountÚgroupbyÚassert_series_equalZastypeZreindexr   Zfillna)Úselfr   ÚserÚresultÚexpected© r   úY/home/mars/bis/venv/lib/python3.8/site-packages/pandas/tests/series/methods/test_count.pyÚtest_count_level_series   s&    þ ÿ ÿz'TestSeriesCount.test_count_level_seriesc              
   C   s  |}|  ¡ }ddg|j_t t¡ |jdd}W 5 Q R X t t¡ |jdd d¡}W 5 Q R X t ||¡ t t¡ |jdd}W 5 Q R X t t¡ |jdd d¡}W 5 Q R X t ||¡ d}t	j
t|d& t t¡ | d¡ W 5 Q R X W 5 Q R X d S )	NÚaÚbr   r   r   zLevel x not found©ÚmatchÚx)Úcopyr   Únamesr   r   r   r   Zrename_axisr   ÚpytestÚraisesÚKeyError)r   Zseries_with_multilevel_indexr   Zseriesr   ÚexpectÚmsgr   r   r    Útest_count_multiindex$   s"    z%TestSeriesCount.test_count_multiindexc              
   C   sP   t tdƒƒ}d}tjt|d( t t¡ |jdd W 5 Q R X W 5 Q R X d S )Né   z2Series.count level is only valid with a MultiIndexr$   r   r   )	r   Úranger)   r*   Ú
ValueErrorr   r   r   r   )r   r   r-   r   r   r    Ú#test_count_level_without_multiindex;   s
    z3TestSeriesCount.test_count_level_without_multiindexc              	   C   s6  |  ¡ t|ƒkst‚tj|d d d…< |  ¡ t |¡ ¡ ks>t‚t t	dƒdddtj
ddgg¡}tt t|ƒ¡|d}t t¡ |j dd}W 5 Q R X tdddgddtj
gd}t ||¡ tj
|jdddg< t t¡ t |j dd|d ¡ W 5 Q R X t d	d
¡$ tt d¡gƒ  ¡ dks(t‚W 5 Q R X d S )Nr   Zaabbccr   r   r   r/   r   é   Zuse_inf_as_naTz1990/1/1)r   r   ÚAssertionErrorr   ÚNaNÚisfiniteÚsumr   Zfrom_arraysÚlistÚnanr   Zaranger   r   r   r   ZilocÚpdZoption_contextÚ	Timestamp)r   Zdatetime_seriesÚmiÚtsÚleftÚrightr   r   r    Ú
test_countC   s     "zTestSeriesCount.test_countc                 C   s@   t ttjddtjgdddddgddƒ}| ¡ }|dks<t‚d S )Nr   r   r3   é   r/   T)Ú
categoriesZordered)r   r   r   r9   r   r4   )r   r   r   r   r   r    Útest_count_categoricalZ   s      ÿÿz&TestSeriesCount.test_count_categoricalN)Ú__name__Ú
__module__Ú__qualname__r!   r.   r2   r@   rC   r   r   r   r    r      s
   r   )Únumpyr   r)   Zpandasr:   r   r   r   Zpandas._testingZ_testingr   r   r   r   r   r    Ú<module>   s
   