
    bMhx                     h    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          ZdS )    N)	Timedelta)nanops)TimedeltaArrayc            
          e Zd Zej                            dg d          ej                            dddg          d                         Zej                            dddg          d             Zd Zd	 Z	d
 Z
d Zej                            d ed           ej        d           ej        dd           ej        dd          g          d             Zd Zd Zd ZdS )TestReductionsname)stdminmaxmedianmeanskipnaTFc                     t          j        g           }|j        } t          ||          |          }|t           j        u sJ  t          ||          |          }|t           j        u sJ d S )Nr   )pdTimedeltaIndexarraygetattrNaT)selfr   r   tdiarrresults         n/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/arrays/timedeltas/test_reductions.pytest_reductions_emptyz$TestReductions.test_reductions_empty   s     ##i#d##6222#d##6222    c                 D   t          j        g           }|j        }|                    |          }t	          |t
                    sJ |t          d          k    sJ |                    |          }t	          |t
                    sJ |t          d          k    sJ d S )Nr   r   )r   r   r   sum
isinstancer   )r   r   r   r   r   s        r   test_sum_emptyzTestReductions.test_sum_empty   s    ##i''&),,,,,1%%%%''&),,,,,1%%%%%%r   c                    d| d}t          j        g d|          }|                                }t          d          }||k    sJ |                                }t          d          }||k    sJ |                    d          }|t
          j        u sJ |                    d          }|t
          j        u sJ d S )	Nzm8[]3hr$   r   2h5h4h)dtyper%   r&   Fr   )r   _from_sequencer
   r   r   r   r   )r   unitr(   r   r   expecteds         r   test_min_maxzTestReductions.test_min_max%   s    d+111
 
 
 T??!!!!T??!!!!&&&&r   c                 8   t          j        g d          }|j        }|                    d          }t	          d          }t          |t                    sJ ||k    sJ |                    d          }t          |t                    sJ ||k    sJ |                    d          }|t           j        u sJ |                    d          }|t           j        u sJ |                    d          }|t           j        u sJ |                    d          }|t           j        u sJ |                    d	          }t          |t                    sJ ||k    sJ |                    d	          }t          |t                    sJ ||k    sJ d S )
Nr#   Tr      hoursF	   )	min_count   )r   r   r   r   r   r   r   r   r   r   r   r+   s        r   test_sumzTestReductions.test_sum9   s    E E EFFi%%2&&&&),,,,,!!!!%%&),,,,,!!!!&&&&1%%1%%1%%&),,,,,!!!!1%%&),,,,,!!!!!!r   c                 ,   t          j        g d          }|j        }t          j        |          }t          d          }t          |t
                    sJ ||k    sJ t          j        |          }t          |t
                    sJ ||k    sJ d S )N)r$   r$   r%   r&   r'   r.   r/   )r   r   r   npr   r   r   r4   s        r   
test_npsumzTestReductions.test_npsumZ   s     > > >??i2&&&&),,,,,!!!!&),,,,,!!!!!!r   c                    t          j        d                              t           j                                      d                              d                              dd          }d|d<   t          j        |          }|                    d	          }|t          j
        u sJ |                    d
d          }t          j        t          d          t          j
        g          j        }t          j        ||           |                    dd          }t          j        t          d          t          d          t          d          t          j
        g          j        }t          j        ||           d S )N   zm8[s]zm8[ns]      Nat)r>   Fr   r   )axisr      )secondsr3      r1   )r7   arangeastypeint64viewreshaper   r)   r   r   r   r   r   _valuestmassert_timedelta_array_equal)r   r   tdar   r+   s        r   test_sum_2d_skipna_falsez'TestReductions.test_sum_2d_skipna_falseh   sW   ill!!"(++0099@@JJRRSTVWXXF+C00&&a..$i&;&;&;RV%DEEM
'999a..$!$$$!$$$!$$$	
 
  	 	'99999r   addr   z
2021-01-01UTC)tzz
Asia/Tokyoc                 f   t          j        g d          |z   }|j        }|                    d          }t	          d          }t          |t                    sJ ||k    sJ |                    d          }t          |t                    sJ ||k    sJ t          |dd           Lt          j        t          j
        |          d          }t          |t          j                  sJ ||k    sJ |                    d          }|t           j        u sJ |                    d          }|t           j        u sJ t          |dd           Zt          j        t          j
        |          d          }t          |t          j                  sJ t          j        |          sJ d S d S )N)0hr'   r   r'   rQ   r%   Tr   r<   r/   rO   F)r   r   r   r	   r   r   r   r   nanstdr7   asarraytimedelta64r   isnat)r   rM   r   r   r   r+   s         r   test_stdzTestReductions.test_std   s     E E EFFLi%%1%%%&),,,,,!!!!%%&),,,,,!!!!3d##+]2:c??4@@@Ffbn55555X%%%%&&&&3d##+]2:c??5AAAFfbn555558F##### ,+ $#r   c                    t          j        g d          }|j        }|                    d          }t	          d          }t          |t                    sJ ||k    sJ |                    d          }t          |t                    sJ ||k    sJ |                    d          }|t           j        u sJ |                    d          }|t           j        u sJ d S )NrQ   r$   r   5h06mrQ   r%   Tr   r<   r/   F)r   r   r   r   r   r   r   r4   s        r   test_medianzTestReductions.test_median   s     H H HIIi4((1%%%&),,,,,!!!!4((&),,,,,!!!!5))5))r   c                    t          j        g d          }|j        }t          |                                j                                                  }|                                }||k    sJ |                    d          }|t           j        u sJ |                                                    d          }||k    sJ |                    d          }||k    sJ d S )NrX   Fr   r   r?   )r   r   _datar   dropna_ndarrayr   r   )r   r   r   r+   r   s        r   	test_meanzTestReductions.test_mean   s     H H HIIi SZZ\\27799::!!!!''""%"00!!!!q!!!!!!!!r   c                    t          j        dd          }|j                            dd          }|                    d          }|d         }t          j        ||           |                    d          }|d d df         t          d	
          z   }t          j        ||           |                    d           }|                                }||k    sJ d S )Nz14 days   )periods   r<   r   r\   r3   r@   r/   )r   timedelta_ranger]   rG   r   rI   rJ   r   )r   r   rK   r   r+   s        r   test_mean_2dzTestReductions.test_mean_2d   s     A666i1%%q!!q6
'999q!!qqq!t9yr2222
'999t$$88::!!!!!!r   N)__name__
__module____qualname__pytestmarkparametrizer   r    r,   r5   r8   rL   r   r   	TimestamprV   rZ   r`   rf    r   r   r   r      s       [V%L%L%LMM[Xe}55    65 NM  [Xe}55
& 
& 65
&     (" " "B" " ": : :2 [IaLLBL&&BL%000BL,777		
 $ $ $:     &" " "$" " " " "r   r   )numpyr7   rj   pandasr   r   pandas._testing_testingrI   pandas.corer   pandas.core.arraysr   r   rn   r   r   <module>ru      s                               - - - - - -O" O" O" O" O" O" O" O" O" O"r   