o
    5cE                     @   s6   d dl Z d dlmZmZ d dlmZ G dd dZdS )    N)PeriodIndexperiod_rangec                   @   sF   e Zd Zdd Zdd Zejdddgdd	 Zd
d Z	dd Z
dS )TestPeriodIndexc                 C   s  t dddd}t dddd}t dddd}t dddd}t dddd}t d	ddd}t d
ddd}|dd
|ks;J |dd|ksEJ |dd|ksOJ |dd|ksYJ |dd|kscJ |d	d
|ksmJ |d
d
|kswJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |d	d
|ksJ |d
d
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |d	d
|ksJ |d
d
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |d	d
|ks%J |d
d
|ks0J |dd
|ks;J |dd
|ksFJ |dd
|ksQJ |dd
|ks\J |d	d
|ksgJ |d
d
|ksrJ |dd
|ks}J |dd
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |d
d
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |dd
|ksJ |d	d
|ksJ d}tjt|d |dd W d    n	1 sw   Y  |d}	|d}
t dddd}t|	j|j |	jdks7J t|
j|j |
jdksGJ d S )NAz1/1/2001)freqstartendQMDHz1/1/2001 00:00MinSz1/1/2001 00:00:00sr   StarTbeGINzHow must be one of S or E)matchTfoo3Mz2001-12)	r   asfreqpytestraises
ValueErrortmassert_numpy_array_equalasi8freqstr)selfpi1pi2pi3pi4pi5pi6pi7msgresult1result2expected r*   e/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/indexes/period/methods/test_asfreq.pytest_asfreq   sz   

zTestPeriodIndex.test_asfreqc                 C   s<   t g ddd}|jdd}t g ddd}t|| d S )N)2011-012011-02NaTz2011-04r
   r   r	   )2011Q1r1   r/   2011Q2)r   r   r   assert_index_equal)r   idxresultr)   r*   r*   r+   test_asfreq_natQ   s   zTestPeriodIndex.test_asfreq_natr   r   3Dc                 C   s   t g ddd}||}t g d|d}t|| |j|jks#J |j|dd}t g d|d}t|| |j|jks@J d S )N)z2001-01z2001-02r/   z2001-032Mr0   )z
2001-02-28z
2001-03-31r/   z
2001-04-30r   how)z
2001-01-01z
2001-02-01r/   z
2001-03-01)r   r   r   r3   r   )r   r   pir5   expr*   r*   r+   test_asfreq_mult_piW   s   
z#TestPeriodIndex.test_asfreq_mult_pic                 C   s  t g ddd}t g ddd}tddgddgD ]\}}|j||d	}t|| |j|jks2J qd
D ]J}t g d|d}|d}t g ddd}t|| |j|jksZJ t g d|d}|jddd	}t g ddd}t|| |j|jksJ q5d S )N)z2001-01-01 00:00z2001-01-02 02:00r/   r   r0   25H1D1H1H1Dr   Er9   )r?   r@   )z2001-01-02 00:00z2001-01-03 02:00r/   )r   zipr   r   r3   r   )r   r;   r<   r   r:   r5   r*   r*   r+   test_asfreq_combined_pie   s$   
z'TestPeriodIndex.test_asfreq_combined_pic                 C   s|   t g ddd}t g ddd}t|d| t|d| t g ddd}t|d| t|d| d S )	N)z
2011-01-01z
2011-02-01z
2011-03-01r   r0   )r-   r.   z2011-03r
   z	period[M]r   z
period[3M])r   r   r3   r   astype)r   r   r<   r*   r*   r+   test_astype_asfreqz   s   z"TestPeriodIndex.test_astype_asfreqN)__name__
__module____qualname__r,   r6   r   markparametrizer=   rC   rE   r*   r*   r*   r+   r   
   s    F
r   )r   pandasr   r   pandas._testing_testingr   r   r*   r*   r*   r+   <module>   s    