
    Pi&                         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d Zej                            ddd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ej                            d&dd'gdd(gg          d)             Zej                            d*dd+ej        d,d,d-ggdd+ej        ej        ej        ej        ggg          ej                            d&dd'gdd(gg          d.                         Zd/ Zej                            d0g d!dg fg d!dg fg d1d!dg d2fg d1d!dg d2fd3ej        d4gd!dd3ej        d5gfd3ej        d4gd!dd3ej        ej        gfej        d3d4gd!dej        d3d5gfej        d3d4g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 d6ddg d7fg d6ddg d7fd4ej        d3gddd4ej        d3gfd4ej        d3gddd4ej        ej        gfej        d4d3gddej        d4d3gfej        d4d3g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 d1ddg d8fg d1ddg d8fd3ej        d4gddd3ej        d4gfd3ej        d4gddd3ej        ej        gfej        d3d4gddej        d3d4gfej        d3d4g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          d9             Zd: Zd;S )<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         w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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   c           	      p   t          j        t          j        d          t          j        d          gt          j        d          t           j        gt          j        d          t          j        d          gg          }|                                }t          j        t          j        d          t          j        d          gt          j        d          t           j        gt          j        dd	          t          j        dd	          gg          }t          j        ||           d S )
Nr   r   daysr   i)hours      )r7   r8   )r.   	DataFrame	Timedeltar'   r   r   assert_frame_equal)r   dfr   r   s       r   test_cumsum_datetimelikez0TestSeriesCumulativeOps.test_cumsum_datetimelike`   s   \a",A"6"6"671%%%rv.B'''B)?)?)?@
 
 <a",A"6"6"671%%%rv.1B///1B1O1O1OP
 
 	fh/////r   z	func, exp)r   2012-1-1)r   2012-1-2c                 h   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        |d          }t          j        t          j        dd          t           j        |g          }t          j        ||           d S )Nr@   D)freqrA   Fr,   T)r.   r0   Periodr'   r!   r   r$   )r   r	   expr3   r   r   s         r   test_cummin_cummax_periodz1TestSeriesCumulativeOps.test_cummin_cummax_periods   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i#&&&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 rJ   rK   rL   s    r   rN   z TestSeriesCumulativeOps.<lambda>   s     r   identityinverse)idsc                      |t          j        |                    }t          |         } ||j                  }t          j        |          } t	          ||                      }t          j        ||           d S rJ   )r.   r0   r    r   r!   r   r$   )	r   rH   r	   r   r3   r%   exp_valsr   r   s	            r   test_cummethods_boolz,TestSeriesCumulativeOps.test_cummethods_bool   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   zmethod, orderabccbac                 2   t          j        t          |          d          }t          j        t          d          |          } t	          ||                      }t          j        t          d          |          }t          j        ||           d S )NTorderedababcabrV   abbbccc)r.   CategoricalDtypelistr0   r!   r   r$   )r   r   ordercatr3   r   r   s          r   )test_cummax_cummin_on_ordered_categoricalzATestSeriesCumulativeOps.test_cummax_cummin_on_ordered_categorical   s     !$u++t<<<iOO
 
 
 &f%%''9OO
 
 
 	vx00000r   z	skip, expabcc                     t          j        t          |          d          }t          j        dt          j        dddg|          } t          ||          |          }t          j        ||          }t          j        ||           d S )NTr]   rf   rg   rh   rV   r,   )	r.   ra   rb   r0   r   r   r!   r   r$   )	r   skiprF   r   rc   rd   r3   r   r   s	            r   *test_cummax_cummin_ordered_categorical_nanzBTestSeriesCumulativeOps.test_cummax_cummin_ordered_categorical_nan   s      !$u++t<<<i"&#sC(
 
 
 &f%%T2229
 
 
 		
 	
 	
 	
 	
r   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   r6      z#cumprod not supported for Timedeltamatch)r.   r0   r<   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)rM   zy)rM   xzxzyrM   ru   xy)ru   rt   rM   )ru   ru   rM   )rM   rt   rt   c                     t          j        ||          }t          ||          }t          j        ||          } ||          }	t          j        |	|           d S )NrV   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xyzrV   z-operation 'cumprod' not supported for dtype ''rn   r,   )
r.   r0   rb   reescaperW   rp   rq   rr   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__rp   markparametrizer   r   r   r   r&   r.   r<   	Timestamptz_localizer4   r?   rG   r    keysrU   r0   r   objectrY   re   rk   rs   NAr~   r   rK   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0 0 0& [""	
 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
 [uu	
 1 1 1 [Cc3/0S"&"&"&"&9:	
  [uu	
 
 
  
"   [)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__r   numpyr   rp   pandasr.   pandas._testing_testingr   r   r   minimum
accumulatemaximumr    r   rK   r   r   <module>r      s     
			                izj#j#	 C' C' C' C' C' C' C' C' C' C'r   