a
    Pf                     @   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 s0    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   Z5Dfreq)	
pct_changetmassert_series_equalshiftffillassert_produces_warningFutureWarningr   Zreindex_like)selfdatetime_seriesmsgrsZfilled r   d/var/www/ai-form-bot/venv/lib/python3.9/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   Z
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 sD0    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   Zchgr)   r   r   r   test_pct_change_shift_over_nas.   s    &z2TestSeriesPctChange.test_pct_change_shift_over_nasz!freq, periods, fill_method, limit))Z5Br   NN)3B   NN)r/   r0   r   N)7B   padr   )r1   r2   r   r0   )Z14B   NNc           
      C   s(  d}t jt|d  |j|||d}W d    n1 s80    Y  t jt|d  |j|||d}W d    n1 sv0    Y  t || t|jtd}	t jt|d  |	j|||d}W d    n1 s0    Y  t jt|d  |	j|||d}W d    n1 s0    Y  t || d S )Nr   r
   )r   r   r   r   )indexdtype)r   r   r   r   r   r   r5   object)
r   r   r!   r   r   r   r   Zrs_freqZ
rs_periodsZempty_tsr   r   r   test_pct_change_periods_freq8   s*    $$$&z0TestSeriesPctChange.test_pct_change_periods_freqN)
__name__
__module____qualname__r   r*   r.   pytestmarkparametrizer8   r   r   r   r   r      s   

r   r   )r3   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 sf0    Y  t tjtjddddgddgd d}t|| d S )Nr   r	   r0   	      ab)r5   r   r
   r   r+   r,   g       @)r   r%   r&   r   r   r   r   r   )r   r-   warnr   r(   r)   r   r   r   'test_pct_change_with_duplicated_indicesb   s    "*$rD   c                  C   s<   t g d} |  }t tjtjtjddg}t|| d S )N)NNr   r	   r0   r   r,   )r   r   r%   r&   r   r   )serr(   r)   r   r   r   'test_pct_change_no_warning_na_beginnings   s    rF   c                  C   s0   t g dd} |  }| jdd}t|| d S )NZfloat64)r6   r   )r!   )r   copyr   r   r   )rE   r)   r(   r   r   r   test_pct_change_empty{   s    rH   )numpyr%   r<   Zpandasr   r   Zpandas._testingZ_testingr   r   r=   r>   rD   rF   rH   r   r   r   r   <module>   s   W
