
    .iy                     `    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y)    N)	Timedelta)nanops)TimedeltaArrayc            
       b   e Zd Zej                  j                  dg d      d        Zd Zd Zd Z	d Z
d Zej                  j                  d	 ed
      j                  d       ej                  d       ej                  dd       ej                  dd      g      d        Zd Zd Zd Zy)TestReductionsname)stdminmaxmedianmeanc                     t        j                  g       }|j                  } t        ||      |      }|t         j                  u sJ  t        ||      |      }|t         j                  u sJ y )Nskipna)pdTimedeltaIndexarraygetattrNaT)selfr   r   tdiarrresults         l/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/arrays/timedeltas/test_reductions.pytest_reductions_emptyz$TestReductions.test_reductions_empty   se    #ii#d#62#d#62    c                    t        j                  g       }|j                  }|j                  |      }t	        |t
              sJ |t        d      k(  sJ |j                  |      }t	        |t
              sJ |t        d      k(  sJ y )Nr   r   )r   r   r   sum
isinstancer   )r   r   r   r   r   s        r   test_sum_emptyzTestReductions.test_sum_empty   s    #ii'&),,,1%%%'&),,,1%%%r   c                 b   d| d}t        j                  g d|      }|j                         }t        d      }||k(  sJ |j	                         }t        d      }||k(  sJ |j                  d      }|t
        j                  u sJ |j	                  d      }|t
        j                  u sJ y )	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    dV1++1
 T?!!!T?!!!&&r   c                    t        j                  g d      }|j                  }|j                  d      }t	        d      }t        |t              sJ ||k(  sJ |j                  d      }t        |t              sJ ||k(  sJ |j                  d      }|t         j                  u sJ |j                  d      }|t         j                  u sJ |j                  d      }|t         j                  u sJ |j                  d      }|t         j                  u sJ |j                  d	      }t        |t              sJ ||k(  sJ |j                  d	      }t        |t              sJ ||k(  sJ y )
Nr#   Tr      hoursF	   )	min_count   )r   r   r   r   r   r   r   r   r   r   r   r,   s        r   test_sumzTestReductions.test_sum7   sf    EFii%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 y )N)r$   r$   r%   r&   r'   r/   r0   )r   r   r   npr   r   r   r5   s        r   
test_npsumzTestReductions.test_npsumX   s|     >?ii2&&),,,!!!&),,,!!!r   c                     t        j                  d      j                  t         j                        j	                  d      j                  d      j                  dd      }d|d<   t        j                  |      }|j                  d	      }|t        j                  u sJ |j                  d
d      }t        j                  t        d      t        j                  gd      j                  }t        j                  ||       |j                  dd      }t        j                  t        d      t        d      t        d      t        j                  gd      j                  }t        j                  ||       y )N   zm8[s]zm8[ns]      Nat)r?   Fr   r   )axisr      )secondsr(   r4      r2   )r8   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_falsef   s4   iil!!"((+009@@JRRSTVWXF++C0&a.$$r"BFF+8

' 	 	''9a.$$!$!$!$	 
 ' 	 	''9r   addr   usz
2021-01-01UTC)tzz
Asia/Tokyoc                 T   t        j                  g d      |z   }|j                  }|j                  d      }t	        d      j                  d      }t        |t              sJ ||k(  sJ |j                  d      }t        |t              sJ ||k(  sJ t        |dd       Mt        j                  t        j                  |      d      }t        |t        j                        sJ ||k(  sJ |j                  d      }|t         j                  u sJ |j                  d      }|t         j                  u sJ t        |dd       ^t        j                  t        j                  |      d      }t        |t        j                        sJ t        j                  |      sJ y y )	N)0hr'   r   r'   rS   r%   Tr   r=   r0   rO   rQ   F)r   r   r   r	   r   as_unitr   r   r   nanstdr8   asarraytimedelta64r   isnat)r   rN   r   r   r   r,   s         r   test_stdzTestReductions.test_std   ss     EFLii%1%--d3&),,,!!!%&),,,!!!3d#+]]2::c?4@Ffbnn555X%%%&&3d#+]]2::c?5AFfbnn55588F### ,r   c                    t        j                  g d      }|j                  }|j                  d      }t	        d      }t        |t              sJ ||k(  sJ |j                  d      }t        |t              sJ ||k(  sJ |j                  d      }|t         j                  u sJ |j                  d      }|t         j                  u sJ y )NrS   r$   r   5h06mrS   r%   Tr   r=   r0   F)r   r   r   r   r   r   r   r5   s        r   test_medianzTestReductions.test_median   s     HIii4(1%&),,,!!!4(&),,,!!!5)5)r   c                    t        j                  g d      }|j                  }t        |j	                         j
                  j                               }|j                         }||k(  sJ |j                  d      }|t         j                  u sJ |j	                         j                  d      }||k(  sJ |j                  d      }||k(  sJ y )Nr[   Fr   r   r@   )r   r   _datar   dropna_ndarrayr   r   )r   r   r   r,   r   s        r   	test_meanzTestReductions.test_mean   s     HIii SZZ\22779:!!!'""%"0!!!q!!!!r   c                    t        j                  dd      }|j                  j                  dd      }|j	                  d      }|d   }t        j                  ||       |j	                  d      }|d d df   t        d	
      j                  d      z   }t        j                  ||       |j	                  d       }|j	                         }||k(  sJ y )Nz14 days   )periods   r=   r   r_   r4   rA   r0   rO   )	r   timedelta_ranger`   rH   r   rJ   rK   r   rT   )r   r   rL   r   r,   s        r   test_mean_2dzTestReductions.test_mean_2d   s      A6ii1%q!q6
''9q!q!t9yr2::4@@
''9t$88:!!!r   N)__name__
__module____qualname__pytestmarkparametrizer   r    r-   r6   r9   rM   r   rT   r   	TimestamprY   r]   rc   ri    r   r   r   r      s    [[V%LM  N 
& ("B":8 [[aL  &BLL&BLL%0BLL,7		
$$: &"$"r   r   )numpyr8   rm   pandasr   r   pandas._testing_testingrJ   pandas.corer   pandas.core.arraysr   r   rq   r   r   <module>rx      s&          -P" P"r   