
    bMh                         d Z ddl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dS )zX
Tests for Series cumulative operations.

See also
--------
tests.frame.test_cumulative
    N)cumsumcumprodcummincummaxc            &       	   e Zd Zej                            dej        ej        g          d             Z	ej                            dddg          d             Z
ej                            d ej        d           ej        d	           ej        d	                              d
          g          e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                            dd ej        dd          fd ej        dd          fg          d             Zej                            dg dg dg          ej                            dd d gddg          ej                            de                                          d                                      Ze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ej                            d(g d"dg fg d"dg fg d)d"dg d*fg d)d"dg d*fd+ej        d,gd"dd+ej        d-gfd+ej        d,gd"dd+ej        ej        gfej        d+d,gd"dej        d+d-gfej        d+d,gd"dej        ej        ej        gfej        ej        ej        gd"dej        ej        ej        gfej        ej        ej        gd"dej        ej        ej        gfg ddg fg ddg fg d.ddg d/fg d.ddg d/fd,ej        d+gddd,ej        d+gfd,ej        d+gddd,ej        ej        gfej        d,d+gddej        d,d+gfej        d,d+gddej        ej        ej        gfej        ej        ej        gddej        ej        ej        gfej        ej        ej        gddej        ej        ej        gfg ddg fg ddg fg d)ddg d0fg d)ddg d0fd+ej        d,gddd+ej        d,gfd+ej        d,gddd+ej        ej        gfej        d+d,gddej        d+d,gfej        d+d,gddej        ej        ej        gfej        ej        ej        gddej        ej        ej        gfej        ej        ej        gddej        ej        ej        gfg          d1             Zd2 Zd3S )4TestSeriesCumulativeOpsfuncc                    t          j         ||          j         |t          j        |                    d           |                                }t          j        |d d d<    ||          dd d         } |t          j        |                                                    }t          j        |j        |d           d S )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/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/test_cumulative.pytest_datetime_seriesz,TestSeriesCumulativeOps.test_datetime_series   s    
#D!!(D/**++	
 	
 	
 	
 !!##&33Q3b!$Q$4--..
#FM8OOOOOO    methodr   r   c                    t           |         } t          ||                      j        } |t          j        |                    }t          j        ||           |                                }t          j        |d d d<    t          ||                      dd d         } ||	                                          }|j
                            d           |_
        t          j        ||           d S )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133:5/2233
#FH555!!##&33Q3$V$$&&qt!t,5%%|..t44
vx0000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        ||           d S )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_datetimelike;   s    : oQQQRRib!!/'**9Wr\**%f%%V444
x00000r   z	func, exp2012-1-1Dfreq2012-1-2c                 <   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        ||           d S )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     iYz,,,bfbi
QT6U6U6UV
 
 $d##51119bi
===rvrvNOO
vx000#d##40009bi
===rvsKLL
vx00000r   arg)FFFTTFF)FFFFFFFc                     | S N xs    r   <lambda>z TestSeriesCumulativeOps.<lambda>|   s    1 r   c                     |  S r@   rA   rB   s    r   rD   z TestSeriesCumulativeOps.<lambda>|   s     r   identityinverse)idsc                      |t          j        |                    }t          |         } ||j                  }t          j        |          } t	          ||                      }t          j        ||           d S 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_boolt   st     d29S>>""5$$9X&&%f%%''
vx00000r   zmethod, expectedr   r   dtyper   c                     t          j        ddt          j        dg          } t	          ||                      }t          j        ||           d S )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   sN     ibfe455%f%%''
vx00000r   c                    t          j        t          j        d          t          j        d          g          }t          j        t
          d          5  |                                 d d d            d S # 1 swxY w Y   d S )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   s    i1---r|/C/C/CDEE]9,QRRR 	 	KKMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A::A>A>zdata, op, skipna, expected_data)rC   zy)rC   xzxzyrC   r[   xy)r[   rZ   rC   )r[   r[   rC   )rC   rZ   rZ   c                     t          j        ||          }t          ||          }t          j        ||          } ||          }	t          j        |	|           d S )NrL   r,   )r.   r0   r!   r   r$   )
r   string_dtype_no_objectdataopr-   expected_datar3   r   r   r   s
             r   test_cum_methods_ea_stringsz3TestSeriesCumulativeOps.test_cum_methods_ea_strings   si    P i$:;;;b!!9]2HIIIv&&&
vx00000r   c                    t          j        t          d          |          }t          j        d|j         d          }t          j        t          |          5  |	                    |           d d d            d S # 1 swxY w Y   d S )NxyzrL   z-operation 'cumprod' not supported for dtype ''rS   r,   )
r.   r0   listreescaperM   rV   rW   rX   r   )r   pyarrow_string_dtyper-   r3   msgs        r   test_cumprod_pyarrow_stringsz4TestSeriesCumulativeOps.test_cumprod_pyarrow_strings   s    iU+?@@@iT	TTTUU]9C000 	' 	'KKvK&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   B  BBN)__name__
__module____qualname__rV   markparametrizer   r   r   r   r&   r.   rU   	Timestamptz_localizer4   r;   r=   r    keysrK   r0   r   objectrO   rY   NArd   rm   rA   r   r   r   r      s       [Vbi%<==P P >=P  [X(';<<1 1 =<1 [BLOOBL&&BL&&22<@@	
  [!tPPPQtPPPQ::: :::	
 "
1 
1#  2
1 [yry#6667yry#6667	
 1 1 1 [;;;===	
  [ll+*i1H    [Xw||~~661 1 76  1 [yry!Q!2&AAAB		5!RVQ"7889yry%!>??@yry%rvt!<==>		
 1 1 1
   [)4$5"%__h.@.@.@A__h/A/A/AB25#$beT0BC25#%#rube1DEeS#$T0BCeS#%"%1FGeRUBE"HdRUBE254IJeRUBE"HebeRUBE5JK4$5"%__hooo>__h?25#$beS0AB25#%#rube1DEeS#$S0ABeS#%"%1FGeRUBE"HdRUBE254IJeRUBE"HebeRUBE5JK4$5"%__hooo>__h?25#$beS0AB25#%#rube1DEeS#$S0ABeS#%"%1FGeRUBE"HdRUBE254IJeRUBE"HebeRUBE5JK=	
" "F	1 	1G" "F	1' ' ' ' 'r   r   )__doc__ri   numpyr   rV   pandasr.   pandas._testing_testingr   r   r   minimum
accumulatemaximumr    r   rA   r   r   <module>r      s     
			                izj#j#	 {' {' {' {' {' {' {' {' {' {'r   