o
    Ti(                     @   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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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(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dddgd/d0 Zejdddgd1d2 ZdS )3    N)	DataFrameIndexSeriesisnaagg_funcanyall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skipna)	r   getattrbuiltinsr   r   r   groupbytmassert_frame_equal)r   r   r	   dfexpexpectedresult r'   a/var/www/html/evchargy.com/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#   r%   r&   r'   r'   r(   test_any4   s   r0   bool_agg_funcc                 C   sP   t ddggddgd}|dg}t||  }|tdg}t|| d S )NTr   r-   r   )r   r    r   Zset_axisr.   arrayr!   r"   )r1   r#   Zgrp_byr&   r%   r'   r'   r(    test_bool_aggs_dup_column_labelsA   s
   r3   dataFTc                 C   sZ   t |dd}t|| |d}t |tdgdd}|g dj| |d}t|| d S )Nbooleandtyper   r   r   r7   r   )r   r   r.   r2   r    aggr!   Zassert_series_equal)r1   r   r4   serZexpected_datar%   r&   r'   r'   r(   test_masked_kleene_logicL   s
   r;   zdtype1,dtype2,exp_col1,exp_col2floatFloat64r6   r5   Int64c                 C   sn   dt jg}ttj|| dtj||dd}|ddgjddd}t||dt dgd}t|| d S )	Nr   r6   )Zcol1Zcol2r   r   Fr   )r   )	r.   r/   r   pdr2   r    r9   r!   r"   )Zdtype1Zdtype2Zexp_col1Zexp_col2r4   r#   r&   r%   r'   r'   r(   test_masked_mixed_typese   s   
r@   r7   )r>   r=   r5   c                 C   sh   |t jdg|d}d}|s| dkrt j}||gtdgdd}|ddgj| |d}t|| d S )Nr   r6   Tr   r5   r8   r   )r?   NAr.   r2   r    r9   r!   assert_equal)r1   r7   r   frame_or_seriesobjexpected_resr%   r&   r'   r'   r(   test_masked_bool_aggs_skipna   s   rF   zbool_agg_func,data,expected_resr   c                 C   sN   ||t d}|dgt| | }||gtdgdd}t|| d S )Nr6   r   boolr8   )objectr    lenr9   r.   r2   r!   rB   )r1   r4   rE   rC   rD   r&   r%   r'   r'   r(   test_object_type_missing_vals   s   rJ   c                 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 )Nr6   z boolean value of NA is ambiguous)matchr   Fr   )	r   r?   rA   rH   pytestZraises	TypeErrorr    r9   )r1   r:   r'   r'   r(   'test_object_NA_raises_with_skipna_false   s   "rN   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   r7   r'   )r   rH   r   r    r   rG   r!   rB   )rC   r1   kwargsrD   r&   r%   r'   r'   r(   
test_empty   s
   rP   )r   numpyr.   rL   Zpandasr?   r   r   r   r   Zpandas._testingZ_testingr!   markZparametrizer/   r)   r0   r3   rA   r;   r2   rG   r@   rF   ZNaTrJ   rN   rP   r'   r'   r'   r(   <module>   s    






	
