o
    i                     @   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 g dg dgg dg dgd}ttjt||d}tt |j	dd}W d    n1 s4w   Y  |j
dd	 }t|d	||jd tt |j	d
d}W d    n1 sgw   Y  |j
d
d	 }t|d	||jd d S )N)foobarbaz)onetwothreefour)r   r   r      r   )r   r      r   r   )levelscodesindexr   levelf8r   )r   r   nprandomrandnlentmassert_produces_warningFutureWarningcountgroupbyassert_series_equalastypereindexr   fillna)selfr   serresultexpected r'   a/var/www/edux/Edux_v2/venv/lib/python3.10/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 d    n1 s"w   Y  tt |jddd}W d    n1 s@w   Y  t|| tt |jdd}W d    n1 saw   Y  tt |jddd}W d    n1 sw   Y  t|| d}t	j
t|d+ tt |d W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )	Nabr   r   r   zLevel x not foundmatchx)copyr   namesr   r   r   r   rename_axisr   pytestraisesKeyError)r#   series_with_multilevel_indexr$   seriesr%   expectmsgr'   r'   r(   test_count_multiindex$   s2   "z%TestSeriesCount.test_count_multiindexc              	   C   s   t td}d}tjt|d, tt |jdd W d    n1 s&w   Y  W d    d S W d    d S 1 s>w   Y  d S )N   z2Series.count level is only valid with a MultiIndexr,   r   r   )	r   ranger2   r3   
ValueErrorr   r   r   r   )r#   r$   r8   r'   r'   r(   #test_count_level_without_multiindex;   s   "z3TestSeriesCount.test_count_level_without_multiindexc              	   C   sn  |  t|ks
J tj|d d d< |  t| ksJ ttddddtj	ddgg}t
tt||d}tt |j dd}W d    n1 sPw   Y  t
g dddtj	gd}t|| tj	|jg d< tt t|j dd|d  W d    n1 sw   Y  tdd	 t
td
g  dksJ W d    d S 1 sw   Y  d S )Nr   aabbccr   r   r   )r   r:   r   )r   r:      use_inf_as_naTz1990/1/1)r   r   r   NaNisfinitesumr   from_arrayslistnanr   aranger   r   r   r   ilocpdoption_context	Timestamp)r#   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g ddd}| }|dksJ d S )Nr   r   )r?      r:   r   r   T)
categoriesordered)r   r   r   rF   r   )r#   r$   r%   r'   r'   r(   test_count_categoricalZ   s   z&TestSeriesCount.test_count_categoricalN)__name__
__module____qualname__r)   r9   r=   rQ   rU   r'   r'   r'   r(   r      s    r   )numpyr   r2   pandasrI   r   r   r   pandas._testing_testingr   r   r'   r'   r'   r(   <module>   s    