U
    +ify                     @   s   d dl Zd dlZd dlmZmZmZmZ d dlm	Z
 ejdddddggdd Zejdddddggejdd	d
gdd Zdd Zdd Zdd Zejdd	d
gdd ZdS )    N)	DataFrameIndexPeriodIndexSeriesbyABc                 C   s:   | j |d}| }|D ]\}}|| t|kstqd S )N)r   )groupbysizelenAssertionError)dfr   groupedresultkeygroup r   Q/home/mars/bis/venv/lib/python3.8/site-packages/pandas/tests/groupby/test_size.py	test_size   s    r   sortTFc                 C   s\   t tjddtdd} | j||d }| j||dd dd }tj	||d	d
 d S )N   )i     ABCcolumns)r   r   Cc                 S   s
   | j d S )Nr   )shape)ar   r   r   <lambda>       z test_size_sort.<locals>.<lambda>F)Zcheck_names)
r   nprandomchoicelistr	   r
   applytmassert_series_equal)r   r   r   leftrightr   r   r   test_size_sort   s    r)   c                  C   s<   t ddgd} tdtg ddd}t| d | d S )Nr   r   r   int64nameZdtypeindex)r   r   r   r%   r&   r	   r
   )r   outr   r   r   test_size_series_dataframe   s    r0   c                  C   sB   t dd d gi} | d }tdtg ddd}t|| d S )Nr   r*   r+   r-   )r   r	   r
   r   r   r%   r&   )r   r   expectedr   r   r   test_size_groupby_all_null%   s    r2   c                  C   s>   t dgtdgdddd} | jdd}| }t||  d S )N   2000r   D)r,   freq)r.   )level)r   r   r	   r
   r%   r&   )Zsergrpr   r   r   r   test_size_period_index.   s    r9   as_indexc                 C   s   t ddgddggddgd}|d d|d< |jddg| d }t dddgdddgdddgdddggddd	gd}|d d|d< | r|ddgd	 d }t|| d S )
Nr3      r   r   r   category)r:   r   r
   )r   Zastyper	   r
   Z	set_indexrenamer%   Zassert_equal)r:   r   r   r1   r   r   r   test_size_on_categorical6   s    " r>   )numpyr    ZpytestZpandasr   r   r   r   Zpandas._testingZ_testingr%   markZparametrizer   r)   r0   r2   r9   r>   r   r   r   r   <module>   s   
	