
    Pi0                     X    d dl Zd dlZd dlmZmZ d dlmZ  G d d          Z	d Z
d ZdS )    N)	DataFrameSeriesc                   D   e Zd Zej                            ddej        ej        ej        dddej        ej        gfdej        ej        dddej        ej        ej        gfg          d             Zd Z	d	 Z
d
 Zej                            dg d          d             ZdS )TestDataFramePctChangezperiods, exp         ?g      g333333c                     t           j        t           j        ddddt           j        t           j        g} ||          }|                    |          }t          j        | ||                     d S )Nr         
   )periods)npnan
pct_changetmassert_equal)selfr   expframe_or_seriesvalsobjress          ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/frame/methods/test_pct_change.pytest_pct_change_with_nasz/TestDataFramePctChange.test_pct_change_with_nas   sf     1aRVRV<od##nnWn--
__S1122222    c           	         t          t          j        ddd          t          j        ddd          t          j        ddd          g                              t          j                  }t          j        |j        d<   t          j        |j        d<   d|j        d<   t          d          D ]I}||                    |	          z  d
z
  }|	                    |	          }t          j        ||           Jd S )Nr   (   r   )r   r   )r   r   <   )r      r   )axisr   )r   r   arangeastypefloat64r   iatrangeshiftr   r   assert_frame_equal)r   pnlr!   expectedresults        r   test_pct_change_numericz.TestDataFramePctChange.test_pct_change_numeric   s    Yq"b!!29QB#7#71b"9M9MN
 

&

 	 !HH 	4 	4DSYYDY111A5H^^^..F!&(3333	4 	4r   c                 l   |                                 }t          j        |||                    d          z  dz
             |                     d          }|                                }t          j        |||                    d          z  dz
             |                                 }t          j        |||                    d          z  dz
             |                     d          }t          j        |||                    d          z  dz
                      |                     d S )Nr   r   5Dfreq)r   r   r(   r'   ffillreindex_like)r   datetime_framersfilleds       r   test_pct_changez&TestDataFramePctChange.test_pct_change(   s.   &&((
b.>3G3G3J3J"JQ"NOOO&&q))%%''
b&6<<??":Q">???&&((
b.>3G3G3J3J"JQ"NOOO&&D&11
n222===AOO 	
 	
 	
 	
 	
r   c                 @   t          ddt          j        ddg          }t          ||d          }|                                }t          t          j        dt          j        t          j        dg          }t          ||d          }t          j        ||           d S )N      ?r   g      @g      @)ab      ?g?)r   r   r   r   r   r   r(   )r   sdfchgr*   edfs         r   test_pct_change_shift_over_nasz5TestDataFramePctChange.test_pct_change_shift_over_nas;   s    Cbfc3/00QQ''((mmoo263<==hX6677
c3'''''r   zfreq, periods))5B   )3Br    )14B   c                 <   |                     |          }|                     |          }t          j        ||           t          |j        |j                  }|                     |          }|                     |          }t          j        ||           d S )Nr/   )indexcolumns)r   r   r(   r   rG   rH   )r   r3   r0   r   rs_freq
rs_periodsempty_tss          r   test_pct_change_periods_freqz3TestDataFramePctChange.test_pct_change_periods_freqE   s     !+++66#..w77

gz222>#7AWXXX%%4%00((11

gz22222r   N)__name__
__module____qualname__pytestmarkparametrizer   r   r   r,   r6   r@   rL    r   r   r   r      s        [AsBFBFCD"&"&$dBFBFBFKL	
 3 3 34 4 4
 
 
&( ( ( [	
 	
 	
 3 3 3 3 3r   r   c            	         t          t          j        dddddgddt          j        dddgddd	gdz  
          } |                                 }t          j        t          j        t          j        t          j        ddg}t          t          j        t          j        ddddg|ddd	gdz  
          }t          j        ||           d S )Nr   r   r    	      r   r   r   r9   r:   )rG   g       @r8   r;   )r   r   r   r   infr   r(   )datar+   second_columnr*   s       r   'test_pct_change_with_duplicated_indicesr[   ^   s    VQ1a$!Q1b)ABB3PS*WX.  D __FVRVRVRVS#>MVRVS#sC0]CCCj1n  H &(+++++r   c                     t          dd gddgddgddgddgg          } |                                 }t          t          j        ddddgt          j        t          j        dddgd	          }t	          j        ||           d S )
Nr   r   r    r   rB   r;   gUUUUUU?g      ?rW   )r   r   r   r   r   r(   )r=   r+   r*   s      r   test_pct_change_none_beginningr]   n   s    	IFFFF	

 
B ]]__FVQUD)rvrvq#u.MNN H &(+++++r   )numpyr   rP   pandasr   r   pandas._testing_testingr   r   r[   r]   rS   r   r   <module>rb      s                     P3 P3 P3 P3 P3 P3 P3 P3f, , , , , , , ,r   