
    A>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S r\R
                  R                  SSS/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\R
                  R                  S'SS(/SS)//5      S* 5       r\R
                  R                  S+SS,\R.                  S-S-S.//SS,\R.                  \R.                  \R.                  \R.                  ///5      \R
                  R                  S'SS(/SS)//5      S/ 5       5       rS0 r\R
                  R                  S1/ S"S/ 4/ S"S/ 4/ S2QS"S/ S3Q4/ S2QS"S/ S3Q4S4\R:                  S5/S"SS4\R:                  S6/4S4\R:                  S5/S"SS4\R:                  \R:                  /4\R:                  S4S5/S"S\R:                  S4S6/4\R:                  S4S5/S"S\R:                  \R:                  \R:                  /4\R:                  \R:                  \R:                  /S"S\R:                  \R:                  \R:                  /4\R:                  \R:                  \R:                  /S"S\R:                  \R:                  \R:                  /4/ SS/ 4/ SS/ 4/ S7QSS/ S8Q4/ S7QSS/ S8Q4S5\R:                  S4/SSS5\R:                  S4/4S5\R:                  S4/SSS5\R:                  \R:                  /4\R:                  S5S4/SS\R:                  S5S4/4\R:                  S5S4/SS\R:                  \R:                  \R:                  /4\R:                  \R:                  \R:                  /SS\R:                  \R:                  \R:                  /4\R:                  \R:                  \R:                  /SS\R:                  \R:                  \R:                  /4/ SS/ 4/ SS/ 4/ S2QSS/ S9Q4/ S2QSS/ S9Q4S4\R:                  S5/SSS4\R:                  S5/4S4\R:                  S5/SSS4\R:                  \R:                  /4\R:                  S4S5/SS\R:                  S4S5/4\R:                  S4S5/SS\R:                  \R:                  \R:                  /4\R:                  \R:                  \R:                  /SS\R:                  \R:                  \R:                  /4\R:                  \R:                  \R:                  /SS\R:                  \R:                  \R:                  /4/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         b/var/www/html/land-tabula/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   c           
      x   [         R                  " [         R                  " S5      [         R                  " SS9/[         R                  " SS9[         R                  /[         R                  " SS9[         R                  " SS9//5      nUR	                  5       n[         R                  " [         R                  " S5      [         R                  " SS9/[         R                  " SS9[         R                  /[         R                  " SSS	9[         R                  " SSS	9//5      n[
        R                  " X#5        g )
Nr   r   daysr   i)hours      )r;   r<   )r1   	DataFrame	Timedeltar*   r   r   assert_frame_equal)r   dfr   r   s       r   test_cumsum_datetimelike0TestSeriesCumulativeOps.test_cumsum_datetimelike`   s    \\a",,A"671%rvv.B'B)?@
 <<a",,A"671%rvv.1B/1B1OP
 	f/r   z	func, exp)r   2012-1-1)r   2012-1-2c           	      `   [         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                  " USS9n[         R                  " [         R                  " SSS9[         R                  U/5      n[
        R                  " XE5        g )NrE   D)freqrF   Fr/   T)r1   r3   Periodr*   r#   r   r&   )r   r
   expr6   r   r   s         r   test_cummin_cummax_period1TestSeriesCumulativeOps.test_cummin_cummax_periods   s     iiYYz,bffbii
QT6UV
 #5199bii
=rvvrvvNO
v0#40ii#&99bii
=rvvsKL
v0r   arg)FFFTTFF)FFFFFFFc                     U $ N xs    r   <lambda> TestSeriesCumulativeOps.<lambda>   s    1r   c                     U ) $ rP   rQ   rR   s    r   rT   rU      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 rP   )r1   r3   r"   r   r#   r   r&   )	r   rN   r
   r    r6   r'   exp_valsr   r   s	            r   test_cummethods_bool,TestSeriesCumulativeOps.test_cummethods_bool   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   zmethod, orderabccbac                    [         R                  " [        U5      SS9n[         R                  " [        S5      US9n[	        XA5      " 5       n[         R                  " [        S5      US9n[
        R                  " XV5        g )NTorderedababcabr^   abbbccc)r1   CategoricalDtypelistr3   r#   r   r&   )r   r    ordercatr6   r   r   s          r   )test_cummax_cummin_on_ordered_categoricalATestSeriesCumulativeOps.test_cummax_cummin_on_ordered_categorical   si     !!$u+t<iiO
 %'99O
 	v0r   z	skip, expabcc                    [         R                  " [        U5      SS9n[         R                  " S[        R
                  SSS/US9n[        Xc5      " US9n[         R                  " UUS9n[        R                  " UU5        g )NTrf   rp   rq   rr   r^   r/   )	r1   rj   rk   r3   r   r   r#   r   r&   )	r   skiprK   r    rl   rm   r6   r   r   s	            r   *test_cummax_cummin_ordered_categorical_nanBTestSeriesCumulativeOps.test_cummax_cummin_ordered_categorical_nan   sx      !!$u+t<ii"&&#sC(
 %T299
 		
r   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   r:      z#cumprod not supported for Timedeltamatch)r1   r3   r@   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)rS   zy)rS   xzxzyrS   r   xy)r   r   rS   )r   r   rS   )rS   r   r   c                     [         R                  " X!S9n[        Xc5      n[         R                  " XQS9nU" US9n	[        R                  " X5        g )Nr^   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xyzr^   z-operation 'cumprod' not supported for dtype ''ry   r/   )
r1   r3   rk   reescaper_   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rQ   N)!__name__
__module____qualname____firstlineno__r{   markparametrizer   r   r   r   r(   r1   r@   	Timestamptz_localizer7   rC   rL   r"   keysr\   r3   r   objectra   rn   ru   r~   NAr   r   __static_attributes__rQ   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0& [[""	
11 [[;=	
 [[l+*i1H   [[Xw||~61 71 [[ryy!Q!2&AB		5!RVVQ"789ryy%!>?@ryy%rvvt!<=>		
11
 [[uu	
11 [[Cc3/0S"&&"&&"&&"&&9:	
 [[uu	


" [[)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__r   numpyr   r{   pandasr1   pandas._testing_testingr   r   r   minimum
accumulatemaximumr"   r   rQ   r   r   <module>r      sX    
     iizzjj##jj##	C' C'r   