U
    sVÞc­  ã                   @   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bazZoneZtwoZthreeZfourr   é   é   )Ú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   úJ/tmp/pip-unpacked-wheel-xj8nt62q/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_contextZ	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   r0   é   r,   T)Ú
categoriesZordered)r   r   r   r6   r   r1   )r   r   r   r   r   r   Útest_count_categoricalZ   s      ÿÿz&TestSeriesCount.test_count_categoricalN)Ú__name__Ú
__module__Ú__qualname__r   r+   r/   r<   r?   r   r   r   r   r      s
   r   )Znumpyr   r&   Zpandasr7   r   r   r   Zpandas._testingZ_testingr   r   r   r   r   r   Ú<module>   s
   