o
    i                     @   s  d dl Z d dlZ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gejdddgejd	g d
g dg dg dg dg dg dg dg dg dg dg dejejejggdd Zdd Zejdddgdd Zejdddgejdddgejdg dg dejejejgdejdgdejdgdejdggdd Zejd d!d"ejdged#ejejgd$d#fd%d!ejejgd$d#ejdged#fd%d%ejejgd$d#ejejgd$d#fd"d$ejejgd$d#ejejgd$d#fgd&d' Zejdddgejd(g d)ejdddgd*d+ Zejd,dejejgdfdejd-ejgdfdejejgdfdejdejgdfgd.d/ Zejd0ejdddgd1d2 Zejdddgd3d4 ZdS )5    N)	DataFrameIndexSeriesisnaagg_funcanyallskipnaTFvals)foobarbaz)r    r   )r   r   r   )         )r   r   r   r   r   r   )      ?g       @g      @)r           r   )r   r   r   )TTT)TFF)FFFc                 C   s   t dgd dgd  |d d}tt| |}|r&tt|r&| dkr&d}t |gd dgtddgd	d
d}t|d	| |d}t|| d S )Nar   br   )keyvalr   Fr   r   )namecolumnsindexr	   )	r   getattrbuiltinsr   r   r   groupbytmassert_frame_equal)r   r	   r
   dfexpexp_dfresult r'   \/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/groupby/test_any_all.pytest_groupby_bool_aggs   s   ""r)   c                  C   sr   t g ddtjdgdtjdggg dd} t ddgd	dggd
dgddgd}d|j_| d }t|| d S )N)r   r   r   r   r   r   r   )ABCr   TFr+   r,   r   r*   )	r   npnanr   r   r    r   r!   r"   )r#   expectedr&   r'   r'   r(   test_any3   s   r1   bool_agg_funcc                 C   sB   t ddggddgd}|dg}t||  }|}t|| d S )NTr   r-   r   )r   r    r   r!   r"   )r2   r#   grp_byr&   r0   r'   r'   r(    test_bool_aggs_dup_column_labels@   s
   r4   datac                 C   sP   t |dd}t|| |d}t |dd}|g dj| |d}t|| d S )Nbooleandtyper   r   )r   r   r    aggr!   assert_series_equal)r2   r	   r5   serexpected_datar0   r&   r'   r'   r(   test_masked_kleene_logicK   s
   r=   zdtype1,dtype2,exp_col1,exp_col2floatFloat64r7   r6   Int64c                 C   sh   dt jg}ttj|| dtj||dd}|ddgjddd}t||ddgd}t|| d S )	Nr   r7   )col1col2r   r   Fr   )r   )	r.   r/   r   pdarrayr    r9   r!   r"   )dtype1dtype2exp_col1exp_col2r5   r#   r&   r0   r'   r'   r(   test_masked_mixed_typese   s   
rI   r8   )r@   r?   r6   c                 C   sb   |t jdg|d}d}|s| dkrt j}||gdgdd}|ddgj| |d}t|| d S )Nr   r7   Tr   r6   r   r8   r   )rC   NAr    r9   r!   assert_equal)r2   r8   r	   frame_or_seriesobjexpected_resr0   r&   r'   r'   r(   test_masked_bool_aggs_skipna   s   rP   zbool_agg_func,data,expected_resr   c                 C   sH   ||t d}|dgt| | }||gdgdd}t|| d S )Nr7   r   boolrJ   )objectr    lenr9   r!   rL   )r2   r5   rO   rM   rN   r&   r0   r'   r'   r(   test_object_type_missing_vals   s   rT   z-ignore:Dropping invalid columns:FutureWarningc                 C   sZ   t tjgtd}tjtdd |dgj| dd W d    d S 1 s&w   Y  d S )Nr7   z boolean value of NA is ambiguous)matchr   Fr   )	r   rC   rK   rR   pytestraises	TypeErrorr    r9   )r2   r;   r'   r'   r(   'test_object_NA_raises_with_skipna_false   s   "rY   c                 C   sj   | t u r	ddginddi}| di |dti}t||j| }| di |dti}t|| d S )Nr   r   r   r8   r'   )r   rR   r   r    r   rQ   r!   rL   )rM   r2   kwargsrN   r&   r0   r'   r'   r(   
test_empty   s
   r[   )r   numpyr.   rV   pandasrC   r   r   r   r   pandas._testing_testingr!   markparametrizer/   r)   r1   r4   rK   r=   rD   rQ   rI   rP   NaTrT   filterwarningsrY   r[   r'   r'   r'   r(   <module>   s    






	
