
    Mh                         S r SSKrSSKrSSKrSSKJr  \R                  \R                  \R                  R                  \R                  R                  S.r " S S5      rg)zX
Tests for Series cumulative operations.

See also
--------
tests.frame.test_cumulative
    N)cumsumcumprodcummincummaxc                      \ rS rSr\R
                  R                  S\R                  \R                  /5      S 5       r
\R
                  R                  SSS/5      S 5       r\R
                  R                  S\R                  " S	5      \R                  " S
5      \R                  " S
5      R                  S5      /5      \R
                  R                  SSS/ SQ/SS/ SQ/SS/ SQ/SS/ SQ//5      S 5       5       r\R
                  R                  SS\R"                  " SSS94S\R"                  " SSS94/5      S 5       r\R
                  R                  S/ SQ/ SQ/5      \R
                  R                  SS S /SS/S 9\R
                  R                  S\R)                  5       5      S! 5       5       5       r\R
                  R                  S"S#\R,                  " S	S$\R.                  S$/\S%9/S&\R,                  " SS	\R.                  S	/5      /S\R,                  " SS\R.                  S/5      /S\R,                  " SS\R.                  S/5      //5      S' 5       rS( rS)rg*)+TestSeriesCumulativeOps   funcc                    [         R                  " U" U5      R                  U" [        R                  " U5      5      SS9  UR                  5       n[        R                  US S S2'   U" U5      SS S2   nU" [        R                  " UR                  5       5      5      n[         R                  " UR                  USS9  g )NT)check_dtype      F)tmassert_numpy_array_equalvaluesnparraycopynandropna)selfdatetime_seriesr
   tsresultexpecteds         U/var/www/html/env/lib/python3.13/site-packages/pandas/tests/series/test_cumulative.pytest_datetime_series,TestSeriesCumulativeOps.test_datetime_series   s    
##!((/*+	
 !!#&&3Q3b!$Q$-.
##FMM8O    methodr   r   c                    [         U   n[        X5      " 5       R                  nU" [        R                  " U5      5      n[
        R                  " XE5        UR                  5       n[        R                  US S S2'   [        Xb5      " 5       SS S2   nU" UR                  5       5      nUR                  R                  S 5      Ul
        [
        R                  " XE5        g )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_cummax*TestSeriesCumulativeOps.test_cummin_cummax)   s    13::/23
##F5!!#&&3Q3$&qt!t,%||..t4
v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                 
   [         R                  " / SQ5      n[         R                  " XQ-   5      n[         R                  " U5      n[         R                  " XA-   5      n[        Xb5      " US9n[        R
                  " Xx5        g )N)r*   r+   r*   r-   r*   r,   skipna)pdto_timedeltaSeriesr#   r   r&   )	r   r   r    r0   exp_tditdiserr   r   s	            r   test_cummin_cummax_datetimelike7TestSeriesCumulativeOps.test_cummin_cummax_datetimelike9   s^    : ooQRii!//'*99W\*%V4
x0r   z	func, exp2012-1-1Dfreq2012-1-2c           	      6   [         R                  " [         R                  " SSS9[         R                  [         R                  " SSS9/5      n[	        X15      " SS9n[         R                  " [         R                  " SSS9[         R                  [         R                  /5      n[
        R                  " XE5        [	        X15      " SS9n[         R                  " [         R                  " SSS9[         R                  U/5      n[
        R                  " XE5        g )Nr9   r:   r;   r=   Fr/   T)r1   r3   Periodr*   r#   r   r&   )r   r
   expr6   r   r   s         r   test_cummin_cummax_period1TestSeriesCumulativeOps.test_cummin_cummax_period^   s     iiYYz,bffbii
QT6UV
 #5199bii
=rvvrvvNO
v0#4099bii
=rvvsKL
v0r   arg)FFFTTFF)FFFFFFFc                     U $ N xs    r   <lambda> TestSeriesCumulativeOps.<lambda>z   s    1r   c                     U ) $ rE   rF   rG   s    r   rI   rJ   z   s    r   identityinverse)idsc                     U" [         R                  " U5      5      n[        U   nU" UR                  5      n[         R                  " U5      n[	        XC5      " 5       n[
        R                  " X5        g rE   )r1   r3   r"   r   r#   r   r&   )	r   rC   r
   r    r6   r'   exp_valsr   r   s	            r   test_cummethods_bool,TestSeriesCumulativeOps.test_cummethods_boolr   sV     299S>"$99X&%'
v0r   zmethod, expectedr   r   )dtyper   c                     [         R                  " SS[        R                  S/5      n[	        X15      " 5       n[
        R                  " XB5        g )NFT)r1   r3   r   r   r#   r   r&   )r   r    r   r6   r   s        r   $test_cummethods_bool_in_object_dtype<TestSeriesCumulativeOps.test_cummethods_bool_in_object_dtype   s:     iibffe45%'
v0r   c                    [         R                  " [         R                  " SS9[         R                  " SS9/5      n[        R                  " [
        SS9   UR                  5         S S S 5        g ! , (       d  f       g = f)Nr   )days   z#cumprod not supported for Timedelta)match)r1   r3   	Timedeltapytestraises	TypeErrorr   )r   r6   s     r   test_cumprod_timedelta.TestSeriesCumulativeOps.test_cumprod_timedelta   sL    ii1-r||/CDE]]9,QRKKM SRRs   A00
A>rF   N)__name__
__module____qualname____firstlineno__r\   markparametrizer   r   r   r   r(   r1   r[   	Timestamptz_localizer7   r?   rA   r"   keysrQ   r3   r   objectrU   r_   __static_attributes__rF   r   r   r   r      s   [[Vbii%<=P >P  [[X(';<1 =1 [[LLOLL&LL&22<@	
 [[!tPQtPQ: :	
"
1#2
1 [[ryy#67ryy#67	
11 [[;=	
 [[l+*i1H   [[Xw||~61 71 [[ryy!Q!2&AB		5!RVVQ"789ryy%!>?@ryy%rvvt!<=>		
11
r   r   )__doc__numpyr   r\   pandasr1   pandas._testing_testingr   r   r   minimum
accumulatemaximumr"   r   rF   r   r   <module>rt      sU        iizzjj##jj##	F Fr   