
    Owg                         d Z ddlZddlZddlZddlmZ ej                  ej                  ej                  j                  ej                  j                  dZ G d d      Zy)zX
Tests for Series cumulative operations.

See also
--------
tests.frame.test_cumulative
    N)cumsumcumprodcummincummaxc                      e Zd Zej                  j                  dej                  ej                  g      d        Z	ej                  j                  dddg      d        Z
ej                  j                  d ej                  d       ej                  d	       ej                  d	      j                  d
      g      ej                  j                  dddg dgddg dgddg dgddg dgg      d               Zej                  j                  dd ej                   dd      fd ej                   dd      fg      d        Zej                  j                  dg dg dg      ej                  j                  dd d gddg      ej                  j                  dej'                               d                       Zej                  j                  d!d" ej*                  dd#ej,                  d#ge$      gd% ej*                  ddej,                  dg      gd ej*                  ddej,                  dg      gd ej*                  ddej,                  dg      gg      d&        Zd' Zy())TestSeriesCumulativeOpsfuncc                    t        j                   ||      j                   |t        j                  |            d       |j                         }t        j                  |d d d<    ||      dd d   } |t        j                  |j                                     }t        j                  |j                  |d       y )NT)check_dtype      F)tmassert_numpy_array_equalvaluesnparraycopynandropna)selfdatetime_seriesr	   tsresultexpecteds         Z/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/test_cumulative.pytest_datetime_seriesz,TestSeriesCumulativeOps.test_datetime_series   s    
##!((/*+	
 !!#&&3Q3b!$Q$-.
##FMM8O    methodr   r   c                    t         |   } t        ||             j                  } |t        j                  |            }t        j                  ||       |j                         }t        j                  |d d d<    t        ||             dd d   } ||j                               }|j                  j                  d       |_
        t        j                  ||       y )Nr   r   )methodsgetattrr   r   r   r   r   r   r   r   index
_with_freqassert_series_equal)r   r   r   ufuncr   r   r   s          r   test_cummin_cummaxz*TestSeriesCumulativeOps.test_cummin_cummax)   s    1&13::/23
##FH5!!#&&3Q3$V$&qt!t,%||..t4
vx0r   r   r   z
1999-12-31z
US/Pacificzmethod, skipna, exp_tdiT)NaT2 daysr'   r(   r'   3 days)r'   r(   r'   1 daysr'   r*   F)r'   r'   r'   r'   r'   r'   c                    t        j                  g d      }t        j                  ||z         }t        j                  |      }t        j                  ||z         } t        ||      |      }t	        j
                  ||       y )N)r'   r(   r'   r*   r'   r)   skipna)pdto_timedeltaSeriesr!   r   r$   )	r   r   r   r-   exp_tditdiserr   r   s	            r   test_cummin_cummax_datetimelikez7TestSeriesCumulativeOps.test_cummin_cummax_datetimelike9   sh    : ooQRiib!//'*99Wr\*%f%V4
x0r   z	func, exp2012-1-1Dfreq2012-1-2c                 P   t        j                  t        j                  dd      t         j                  t        j                  dd      g      } t	        ||      d      }t        j                  t        j                  dd      t         j                  t         j                  g      }t        j                  ||        t	        ||      d      }t        j                  t        j                  dd      t         j                  |g      }t        j                  ||       y )Nr5   r6   r7   r9   Fr,   T)r.   r0   Periodr'   r!   r   r$   )r   r	   expr3   r   r   s         r   test_cummin_cummax_periodz1TestSeriesCumulativeOps.test_cummin_cummax_period^   s     iiYYz,bffbii
QT6UV
 $d#5199bii
=rvvrvvNO
vx0#d#4099bii
=rvvsKL
vx0r   arg)FFFTTFF)FFFFFFFc                     | S N xs    r   <lambda>z TestSeriesCumulativeOps.<lambda>z   s    1 r   c                     |  S r@   rA   rB   s    r   rD   z TestSeriesCumulativeOps.<lambda>z   s     r   identityinverse)idsc                      |t        j                  |            }t        |   } ||j                        }t        j                  |      } t	        ||             }t        j                  ||       y r@   )r.   r0   r    r   r!   r   r$   )	r   r>   r	   r   r3   r%   exp_valsr   r   s	            r   test_cummethods_boolz,TestSeriesCumulativeOps.test_cummethods_boolr   s\     299S>"$99X&%f%'
vx0r   zmethod, expectedr   r   )dtyper   c                     t        j                  ddt        j                  dg      } t	        ||             }t        j                  ||       y )NFT)r.   r0   r   r   r!   r   r$   )r   r   r   r3   r   s        r   $test_cummethods_bool_in_object_dtypez<TestSeriesCumulativeOps.test_cummethods_bool_in_object_dtype   s@     iibffe45%f%'
vx0r   c                    t        j                  t        j                  d      t        j                  d      g      }t        j                  t
        d      5  |j                          d d d        y # 1 sw Y   y xY w)Nr   )days   z#cumprod not supported for Timedelta)match)r.   r0   	Timedeltapytestraises	TypeErrorr   )r   r3   s     r   test_cumprod_timedeltaz.TestSeriesCumulativeOps.test_cumprod_timedelta   sT    ii1-r||/CDE]]9,QR 	KKM	 	 	s   A55A>N)__name__
__module____qualname__rT   markparametrizer   r   r   r   r&   r.   rS   	Timestamptz_localizer4   r;   r=   r    keysrK   r0   r   objectrN   rW   rA   r   r   r   r      s   [[Vbii%<=P >P  [[X(';<1 =1 [[BLLOBLL&BLL&22<@	
 [[!tPQtPQ: :	
"
1#2
1 [[yryy#67yryy#67	
11 [[;=	
 [[l+*i1H   [[Xw||~61 71 [[yryy!Q!2&AB			5!RVVQ"789yryy%!>?@yryy%rvvt!<=>		
11
r   r   )__doc__numpyr   rT   pandasr.   pandas._testing_testingr   r   r   minimum
accumulatemaximumr    r   rA   r   r   <module>ri      sU        iizzjj##jj##	F Fr   