a
    Pfx                     @   sZ   d dl 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lmZ G dd dZdS )    N)	Timedelta)nanops)TimedeltaArrayc                
   @   s   e Zd Zejdg dejdddgdd Zejdddgdd	 Zd
d Zdd Z	dd Z
dd Zejdededejdddejdddgdd Zdd Zdd Zdd Zd S )!TestReductionsname)stdminmaxmedianmeanskipnaTFc                 C   sP   t g }|j}t|||d}|t ju s.J t|||d}|t ju sLJ d S )Nr   )pdTimedeltaIndexarraygetattrNaT)selfr   r   tdiarrresult r   g/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/arrays/timedeltas/test_reductions.pytest_reductions_empty   s    
z$TestReductions.test_reductions_emptyc                 C   sh   t g }|j}|j|d}t|ts*J |tdks:J |j|d}t|tsTJ |tdksdJ d S )Nr   r   )r   r   r   sum
isinstancer   )r   r   r   r   r   r   r   r   test_sum_empty   s    
zTestReductions.test_sum_emptyc                 C   s   d| d}t jg d|d}| }td}||ks:J | }td}||ksVJ |jdd}|tju spJ |jdd}|tju sJ d S )	Nzm8[]3hr   r   2h5h4h)dtyper    r!   Fr   )r   _from_sequencer   r   r	   r   r   )r   unitr#   r   r   expectedr   r   r   test_min_max%   s    zTestReductions.test_min_maxc                 C   s&  t g d}|j}|jdd}tdd}t|ts8J ||ksDJ |jdd}t|ts^J ||ksjJ |jdd}|t ju sJ |jdd}|t ju sJ |jdd}|t ju sJ |jdd}|t ju sJ |jd	d}t|tsJ ||ksJ |jd	d}t|tsJ ||ks"J d S )
Nr   Tr      hoursF	   )Z	min_count   )r   r   r   r   r   r   r   r   r   r   r   r&   r   r   r   test_sum9   s.    
zTestReductions.test_sumc                 C   sj   t g d}|j}t|}tdd}t|ts6J ||ksBJ t|}t|tsZJ ||ksfJ d S )N)r   r   r    r!   r"   r(   r)   )r   r   r   npr   r   r   r-   r   r   r   
test_npsumZ   s    


zTestReductions.test_npsumc                 C   s   t dt jdddd}d|d< t|}|jdd	}|t	j
u sRJ |jd
dd}t	tddt	j
gj}t|| |jddd}t	tddtddtddt	j
gj}t|| d S )N   zm8[s]zm8[ns]      ZNat)r4   Fr   r   )axisr      )secondsr,      r+   )r/   ZarangeZastypeZint64viewreshaper   r$   r   r   r   r   r   Z_valuestmassert_timedelta_array_equal)r   r   tdar   r&   r   r   r   test_sum_2d_skipna_falseh   s"    &
z'TestReductions.test_sum_2d_skipna_falseaddr   z
2021-01-01UTC)tzz
Asia/Tokyoc                 C   s.  t g d| }|j}|jdd}tdd}t|ts<J ||ksHJ |jdd}t|tsbJ ||ksnJ t|dd d u rtjt	
|dd}t|t	jsJ ||ksJ |jdd}|t ju sJ |jdd}|t ju sJ t|dd d u r*tjt	
|dd}t|t	jsJ t	|s*J d S )N)0hr"   r   r"   rB   r    Tr   r3   r)   rA   F)r   r   r   r   r   r   r   r   Znanstdr/   ZasarrayZtimedelta64r   Zisnat)r   r?   r   r   r   r&   r   r   r   test_std   s*    

zTestReductions.test_stdc                 C   s   t g d}|j}|jdd}tdd}t|ts8J ||ksDJ |jdd}t|ts^J ||ksjJ |jdd}|t ju sJ |jdd}|t ju sJ d S )NrB   r   r   Z5h06mrB   r    Tr   r3   r)   F)r   r   r   r
   r   r   r   r-   r   r   r   test_median   s    
zTestReductions.test_medianc                 C   s   t g d}|j}t| j }| }||ks:J |jdd}|t ju sTJ | jdd}||kspJ |jdd}||ksJ d S )NrD   Fr   r   r5   )r   r   _datar   ZdropnaZ_ndarrayr   r   )r   r   r   r&   r   r   r   r   	test_mean   s    zTestReductions.test_meanc                 C   s   t jddd}|jdd}|jdd}|d }t|| |jdd}|d d df td	d
 }t|| |jd d}| }||ksJ d S )Nz14 days   )Zperiods   r3   r   rF   r,   r6   r)   )r   Ztimedelta_rangerG   r:   r   r;   r<   r   )r   r   r=   r   r&   r   r   r   test_mean_2d   s    zTestReductions.test_mean_2dN)__name__
__module____qualname__pytestmarkZparametrizer   r   r'   r.   r0   r>   r   r   	TimestamprC   rE   rH   rK   r   r   r   r   r      s*   

!	
r   )numpyr/   rO   Zpandasr   r   Zpandas._testingZ_testingr;   Zpandas.corer   Zpandas.core.arraysr   r   r   r   r   r   <module>   s   