
    m*i                         S r SSK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\R
                  R                  S)/ S#S/ 4/ S#S/ 4/ S*QS#S/ S+Q4/ S*QS#S/ S+Q4S,\R6                  S-/S#SS,\R6                  S./4S,\R6                  S-/S#SS,\R6                  \R6                  /4\R6                  S,S-/S#S\R6                  S,S./4\R6                  S,S-/S#S\R6                  \R6                  \R6                  /4\R6                  \R6                  \R6                  /S#S\R6                  \R6                  \R6                  /4\R6                  \R6                  \R6                  /S#S\R6                  \R6                  \R6                  /4/ SS/ 4/ SS/ 4/ S/QSS/ S0Q4/ S/QSS/ S0Q4S-\R6                  S,/SSS-\R6                  S,/4S-\R6                  S,/SSS-\R6                  \R6                  /4\R6                  S-S,/SS\R6                  S-S,/4\R6                  S-S,/SS\R6                  \R6                  \R6                  /4\R6                  \R6                  \R6                  /SS\R6                  \R6                  \R6                  /4\R6                  \R6                  \R6                  /SS\R6                  \R6                  \R6                  /4/ SS/ 4/ SS/ 4/ S*QSS/ S1Q4/ S*QSS/ S1Q4S,\R6                  S-/SSS,\R6                  S-/4S,\R6                  S-/SSS,\R6                  \R6                  /4\R6                  S,S-/SS\R6                  S,S-/4\R6                  S,S-/SS\R6                  \R6                  \R6                  /4\R6                  \R6                  \R6                  /SS\R6                  \R6                  \R6                  /4\R6                  \R6                  \R6                  /SS\R6                  \R6                  \R6                  /4/5      S2 5       rS3 rS4rg5)6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         c/var/www/html/land-doc-ocr/venv/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_datetimelike;   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>|   s    1r   c                     U ) $ rE   rF   rG   s    r   rI   rJ   |   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_boolt   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>zdata, op, skipna, expected_data)rH   zy)rH   xzxzyrH   rd   xy)rd   rc   rH   )rd   rd   rH   )rH   rc   rc   c                     [         R                  " X!S9n[        Xc5      n[         R                  " XQS9nU" US9n	[        R                  " X5        g )NrS   r/   )r1   r3   r#   r   r&   )
r   string_dtype_no_objectdataopr0   expected_datar6   r    r   r   s
             r   test_cum_methods_ea_strings3TestSeriesCumulativeOps.test_cum_methods_ea_strings   sC    P ii;!99]Iv&
v0r   c                    [         R                  " [        S5      US9n[        R                  " SUR
                   S35      n[        R                  " [        US9   UR                  US9  S S S 5        g ! , (       d  f       g = f)NxyzrS   z-operation 'cumprod' not supported for dtype ''r[   r/   )
r1   r3   listreescaperT   r^   r_   r`   r   )r   pyarrow_string_dtyper0   r6   msgs        r   test_cumprod_pyarrow_strings4TestSeriesCumulativeOps.test_cumprod_pyarrow_strings   s\    iiU+?@iiG		{RSTU]]9C0KKvK& 100s   A55
BrF   N)__name__
__module____qualname____firstlineno__r^   markparametrizer   r   r   r   r(   r1   r]   	Timestamptz_localizer7   r?   rA   r"   keysrQ   r3   r   objectrV   ra   NArm   rw   __static_attributes__rF   r   r   r   r      s5   [[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
 [[)4$5"%h.@Ah/AB255#$beeT0BC255#%#ruubee1DEeeS#$T0BCeeS#%"%%1FGeeRUUBEE"HdRUUBEE2554IJeeRUUBEE"HebeeRUUBEE5JK4$5"%ho>h?255#$beeS0AB255#%#ruubee1DEeeS#$S0ABeeS#%"%%1FGeeRUUBEE"HdRUUBEE2554IJeeRUUBEE"HebeeRUUBEE5JK4$5"%ho>h?255#$beeS0AB255#%#ruubee1DEeeS#$S0ABeeS#%"%%1FGeeRUUBEE"HdRUUBEE2554IJeeRUUBEE"HebeeRUUBEE5JK=	
"F	1G"F	1'r   r   )__doc__rs   numpyr   r^   pandasr1   pandas._testing_testingr   r   r   minimum
accumulatemaximumr"   r   rF   r   r   <module>r      sX    
     iizzjj##jj##	{' {'r   