U
    by                     @   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   Zgroupedresultkeygroup r   B/tmp/pip-unpacked-wheel-ck39h295/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    r/   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    r1   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    r8   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 )
Nr2      r   r   r   category)r9   r   r
   )r   Zastyper	   r
   Z	set_indexrenamer$   Zassert_equal)r9   r   r   r0   r   r   r   test_size_on_categorical6   s    " r=   )Znumpyr   ZpytestZpandasr   r   r   r   Zpandas._testingZ_testingr$   markZparametrizer   r(   r/   r1   r8   r=   r   r   r   r   <module>   s   
	