o
    g                     @   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dd Zejdedej ejdej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 s&J d S )Nr   )pdTimedeltaIndexarraygetattrNaT)selfr   r   tdiarrresult r   l/home/ubuntu/cloudmapper/venv/lib/python3.10/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s*J |tdks2J 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~   t g d}| }td}||ksJ | }td}||ks#J |jdd}|tju s0J |jdd}|tju s=J d S )N3Hr   r   2H5H4Hr   r    Fr   )r   _from_sequencer   r   r	   r   r   )r   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sJ ||ks"J |jdd}t|ts/J ||ks5J |jdd}|t ju sBJ |jdd}|t ju sOJ |jdd}|t ju s\J |jdd}|t ju siJ |jd	d}t|tsvJ ||ks|J |jd	d}t|tsJ ||ksJ d S )
Nr   Tr      hoursF	   )	min_count   )r   r   r   r   r   r   r   r   r   r   r   r#   r   r   r   test_sum6   s.   
zTestReductions.test_sumc                 C   sb   t jdt jddd}t|}t |}|| ksJ t t|}|| ks/J d S )N   )dtypezm8[h]m8[ns])	nparangeint64viewastyper   r   r   r   )r   valsr   r   r   r   r   test_np_sumX   s   
zTestReductions.test_np_sumc                 C   sj   t g d}|j}t|}tdd}t|tsJ ||ks!J t|}t|ts-J ||ks3J d S )N)r   r   r   r    r!   r%   r&   )r   r   r   r0   r   r   r   r+   r   r   r   
test_npsumb   s   


zTestReductions.test_npsumc                 C   s   t dt jdddd}d|d< t|}|jdd	}|tj	u s(J |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]r/         Nat)r<   Fr   r   )axisr      )secondsr*   r-   r(   )r0   r1   r4   r2   r3   reshaper   r   r   r   r   r   _valuestmassert_timedelta_array_equal)r   r   tdar   r#   r   r   r   test_sum_2d_skipna_falsep   s&   &z'TestReductions.test_sum_2d_skipna_falseaddr   UTCz
Asia/Tokyoc                 C   s  t g d| }|j}|jdd}tdd}t|tsJ ||ks$J |jdd}t|ts1J ||ks7J t|dd d u rVtjt	
|dd}t|tsPJ ||ksVJ |jdd}|t ju scJ |jdd}|t ju spJ t|dd d u rtjt	
|dd}|t ju sJ d S d S )N)0Hr!   r   r!   rH   r   Tr   r:   r&   tzF)r   r   r   r   r   r   r   r   nanstdr0   asarrayr   )r   rF   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sJ ||ks"J |jdd}t|ts/J ||ks5J |jdd}|t ju sBJ |jdd}|t ju sOJ d S )NrH   r   r   5H06mrH   r   Tr   r:   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 s*J | jdd}||ks8J |jdd}||ksDJ d S )NrM   Fr   r   r=   )r   r   _datar   dropna_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sGJ d S )Nz14 days   )periods   r:   r   rP   r*   r>   r&   )r   timedelta_rangerQ   r@   r   rB   rC   r   )r   r   rD   r   r#   r   r   r   test_mean_2d   s   zTestReductions.test_mean_2dN)__name__
__module____qualname__pytestmarkparametrizer   r   r$   r,   r6   r7   rE   r   r   	TimestampnowrL   rO   rT   rY   r   r   r   r   r      s.    

"



	r   )numpyr0   r]   pandasr   r   pandas._testing_testingrB   pandas.corer   pandas.core.arraysr   r   r   r   r   r   <module>   s    