a
    Pf                     @   s   d Z ddlZddlZddlmZ ddlmZ ddlm	Z	 dd Z
dd Zejd	ejd
d
gddejjdddgdgdd ZdS )a;  
Tests that apply to all groupby operation methods.

The only tests that should appear here are those that use the `groupby_func` fixture.
Even if it does use that fixture, prefer a more specific test file if it available
such as:

 - test_categorical
 - test_groupby_dropna
 - test_groupby_subclass
 - test_raises
    N)	DataFrame)get_groupby_method_argsc           	      C   s   t g g g dg d}|jg ddd}t|| }t| |}| dkrLtnd }d}tj||d || j}W d    n1 s0    Y  |j}t	|| d S )NabcF)Z
group_keysfillna%DataFrameGroupBy.fillna is deprecatedmatch)
r   Z	set_indexgroupbygetattrr   FutureWarningtmassert_produces_warningindexassert_index_equal)	groupby_funcdfgbmethodargswarnwarn_msgresultexpected r   ^/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/groupby/test_all_methods.py,test_multiindex_group_all_columns_when_empty   s    

(r   c                 C   sP  |dkr d}|  tjj|d tg dg dg dgtdd}t||}|jd	|d
}|dkrftnd }d}t	j
||d t||| }	W d    n1 s0    Y  |jg ddd}
t||
}|
jd	|d
}|dkrtnd }d}t	j
||d t||| }W d    n1 s0    Y  |dvr@|jddid}t	|	| d S )NZcorrwithz:GH#50845 - corrwith fails when there are duplicate columns)reason)         )r          )         Zabbcolumnsr   )as_indexr   r	   r
   r   r    )Zaxis)sizengroupcumcountr   r   )ZapplymarkerpytestmarkZxfailr   listr   r   r   r   r   r   Zset_axisrenameZassert_equal)requestr   r*   msgr   r   r   r   r   r   Zexpected_dfZexpected_argsZexpected_gbr   r   r   r   test_duplicate_columns%   s(    "
,
.
r4   idxr   Zfoo)name)r   r   r7   bar)namesc                 C   s   | dv rt d|   tddgg|d}|dg}t| |}| dkrLtnd }d}tj||d t|| | }W d    n1 s0    Y  |j	d	ksJ t
|j| d S )
N>   r-   r,   r+   zNot applicable for r    r(   r   r   r	   r
   )r    r%   )r.   skipr   r   r   r   r   r   r   shaper   r)   )r   r5   r   Zgrp_byr   r   r   r   r   r   r   test_dup_labels_output_shape>   s    
,r<   )__doc__r.   Zpandaspdr   Zpandas._testingZ_testingr   Zpandas.tests.groupbyr   r   r4   r/   ZparametrizeIndexZ
MultiIndexfrom_tuplesr<   r   r   r   r   <module>   s   