o
    ŀg                     @   sh   d dl Zd dlZd dlmZmZ d dlmZ G dd dZ	ej
dg ddd Zd	d
 Zdd ZdS )    N)Series
date_rangec                   @   s>   e Zd Zdd Zdd Zdd Zejdg dd	d
 Z	dS )TestSeriesPctChangec                 C   s   d}|j d d}t|||d d  | d}| }t|||d d  tjt|d |j ddd}W d    n1 sDw   Y  |jdd}t|||d d  |j d	d
}| }t|||jd	d
 d | d S )NdThe 'fill_method' keyword being not None and the 'limit' keyword in Series.pct_change are deprecatedfill_method      matchbfillr   limit)r   5Dfreq)	
pct_changetmassert_series_equalshiftffillassert_produces_warningFutureWarningr   reindex_like)selfdatetime_seriesmsgrsfilled r   _/var/www/html/myenv/lib/python3.10/site-packages/pandas/tests/series/methods/test_pct_change.pytest_pct_change   s"   
z#TestSeriesPctChange.test_pct_changec                 C   sP   t dddd}ttd|jdd}ttjtjtjtjdg|}t|| d S )Nz
2019-11-14   D)periodsr   Br         @)	r   r   ranger   npnaninfr   r   )r   
common_idxresultexpectedr   r   r    #test_pct_change_with_duplicate_axis$   s   z7TestSeriesPctChange.test_pct_change_with_duplicate_axisc                 C   sr   t ddtjddg}d}tjt|d | }W d    n1 s"w   Y  t tjddd	d
g}t|| d S )N      ?g      ?g      @r&   z@The default fill_method='pad' in Series.pct_change is deprecatedr
         ?g        gVUUUUU?g?)r   r(   r)   r   r   r   r   r   )r   sr   chgr-   r   r   r    test_pct_change_shift_over_nas.   s   
z2TestSeriesPctChange.test_pct_change_shift_over_nasz!freq, periods, fill_method, limit))5Br"   NN)3B   NN)r5   r6   r   N)7B   padr   )r7   r8   r   r6   )14B   NNc           
      C   s&  d}t jt|d |j|||d}W d    n1 sw   Y  t jt|d |j|||d}W d    n1 s;w   Y  t || t|jtd}	t jt|d |	j|||d}W d    n1 sgw   Y  t jt|d |	j|||d}W d    n1 sw   Y  t || d S )Nr   r
   )r   r   r   r   )indexdtype)r   r   r   r   r   r   r<   object)
r   r   r$   r   r   r   r   rs_freq
rs_periodsempty_tsr   r   r    test_pct_change_periods_freq8   s2   z0TestSeriesPctChange.test_pct_change_periods_freqN)
__name__
__module____qualname__r!   r.   r3   pytestmarkparametrizerB   r   r   r   r    r      s    

r   r   )r9   r   Nc                 C   s   t tjdddddgddgd d}| d u rd nt}d	}tj||d
 |j| d}W d    n1 s3w   Y  t tjtjddddgddgd d}t|| d S )Nr   r	   r6   	      ab)r<   r   r
   r   r/   r0   g       @)r   r(   r)   r   r   r   r   r   )r   r1   warnr   r,   r-   r   r   r    'test_pct_change_with_duplicated_indicesb   s   "$rN   c                  C   s<   t g d} |  }t tjtjtjddg}t|| d S )N)NNr   r	   r6   r   r0   )r   r   r(   r)   r   r   )serr,   r-   r   r   r    'test_pct_change_no_warning_na_beginnings   s   rP   c                  C   s0   t g dd} |  }| jdd}t|| d S )Nfloat64)r=   r   )r$   )r   copyr   r   r   )rO   r-   r,   r   r   r    test_pct_change_empty{   s   rS   )numpyr(   rF   pandasr   r   pandas._testing_testingr   r   rG   rH   rN   rP   rS   r   r   r   r    <module>   s    W
