o
    _~#g-                     @   sV   d dl Z d dlmZ d dlmZ d dlmZmZmZ d dl	m
Z dZG dd dZdS )    N)INVALID_FREQ_ERR_MSG)OutOfBoundsDatetime)Period	Timestampoffsetsz#Period with BDay freq is deprecatedc                   @   s   e Zd ZdZejdejdg ddd Zdd Z	d	d
 Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)S )*TestFreqConversionz)Test frequency conversion of date objectsz%ignore:Period with BDay:FutureWarningfreq)YQMWBDc                 C   sX   t d|d}|j|j|jf}|d }|j|jd ksJ |j|j|jf}||k s*J d S )N
0001-01-01r      )r   yearhourdayordinalmonth)selfr   pertup1prevtup2 r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/scalar/period/test_asfreq.pytest_asfreq_near_zero   s   z(TestFreqConversion.test_asfreq_near_zeroc                 C   sh   t ddd }t ddd }|d}|d}||ksJ |dd|ks(J |dd|ks2J d S )Nr   r      r   ES)r   asfreq)r   per1per2week1week2r   r   r   test_asfreq_near_zero_weekly   s   

z/TestFreqConversion.test_asfreq_near_zero_weeklyc              	   C   s   t jttd tddd}W d    n1 sw   Y  d}tjt|d, t jttd |  W d    n1 s=w   Y  W d    d S W d    d S 1 sUw   Y  d S )Nmatchr   r   r   z"Out of bounds nanosecond timestamp)	tmassert_produces_warningFutureWarningbday_msgr   pytestraisesr   to_timestamp)r   r   msgr   r   r   test_to_timestamp_out_of_bounds)   s   
"z2TestFreqConversion.test_to_timestamp_out_of_boundsc                 C   sl   t ddd}|d}|d}t ddd}|j|jksJ |jdks%J |j|jks-J |jdks4J d S )Nr	     r   r   5minminz2007-12-31 23:59r   )r   r"   r   freqstr)r   valresult1result2expectedr   r   r   test_asfreq_corner2   s   

z%TestFreqConversion.test_asfreq_cornerc              	   C   s  t ddd}t ddd}t ddd}t 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}	t ddddd}
tjttd t ddddd}t ddddd}W d    n1 sfw   Y  t ddddd}t ddddd}t dddddd}t dddddd}t ddddddd}t ddddddd}t dddddddd}t dddddddd}t ddddd}t ddddd}t dddd d}t ddd!dd}t ddd"d d}t ddddd}|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 tjttd |dd|ks:J |dd$|ksEJ W d    n	1 sPw   Y  |dd|ks`J |dd$|kskJ d%}tjt|d |d&d|ksJ |d&d$|ksJ W d    n	1 sw   Y  |d'd|ksJ |d'd$|ksJ d(}tjt|d |d)d|ksJ |d)d$|ksJ W d    n	1 sw   Y  d*}tjt|d |d+d+|ksJ |d+d$|ksJ W d    n	1 sw   Y  |dd|ksJ |dd$|ks'J |dd|ks2J |dd$|ks=J |dd|ksHJ |dd$|ksSJ |d|ks]J d S ),Nr	   r3   r4   Y-JANY-JUNzY-NOVr
   r   r   r   quarter   r   r   r   r      r   r   r   r   r      r(   r   r   hr   r   r   r   r   r      Minr   r   r   r   r   minute;   sr   r   r   r   r   rK   second     r            er    z:'H' is deprecated and will be removed in a future version.Hr6   z:'T' is deprecated and will be removed in a future version.Tz:'S' is deprecated and will be removed in a future version.r!   r   r*   r+   r,   r-   r"   )r   ival_A	ival_AJAN	ival_AJUN	ival_ANOVival_A_to_Q_startival_A_to_Q_endival_A_to_M_startival_A_to_M_endival_A_to_W_startival_A_to_W_endival_A_to_B_startival_A_to_B_endival_A_to_D_startival_A_to_D_endival_A_to_H_startival_A_to_H_endival_A_to_T_startival_A_to_T_endival_A_to_S_startival_A_to_S_endival_AJAN_to_D_endival_AJAN_to_D_startival_AJUN_to_D_endival_AJUN_to_D_startival_ANOV_to_D_endival_ANOV_to_D_startr1   r   r   r   test_conv_annual<   s   z#TestFreqConversion.test_conv_annualc              	   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	}t d
ddd}t d
ddd}t ddddd}t ddddd}	tjttd t ddddd}
t ddddd}W d    n1 sbw   Y  t ddddd}t ddddd}t dddddd}t dddddd}t ddddddd}t ddddddd}t dddddddd}t dddddddd}t ddddd}t ddddd}t ddddd}t ddd dd}|d|ksJ |d|ksJ |d
d|ksJ |d
d!|ksJ |dd|ksJ |dd!|	ksJ tjttd |dd|
ks"J |dd!|ks-J W d    n	1 s8w   Y  |dd|ksHJ |dd!|ksSJ |dd|ks^J |dd!|ksiJ |dd|kstJ |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|ksJ d S )"Nr
   r3   r   r?   rA   Q-JANQ-JUNr	   r4   r   rB      r   rD   rE   r(   r   rR   r   rF   r   rG   rH   rI   rJ   rL   rM   rN   rP   rQ   rS   	   r    rX   )r   ival_Qival_Q_end_of_year
ival_QEJAN
ival_QEJUNival_Q_to_Aival_Q_to_M_startival_Q_to_M_endival_Q_to_W_startival_Q_to_W_endival_Q_to_B_startival_Q_to_B_endival_Q_to_D_startival_Q_to_D_endival_Q_to_H_startival_Q_to_H_endival_Q_to_T_startival_Q_to_T_endival_Q_to_S_startival_Q_to_S_endival_QEJAN_to_D_startival_QEJAN_to_D_endival_QEJUN_to_D_startival_QEJUN_to_D_endr   r   r   test_conv_quarterly   sp   z&TestFreqConversion.test_conv_quarterlyc              	   C   s  t dddd}t dddd}t dddd}t ddd}t d	ddd
}t ddddd}t ddddd}tjttd t ddddd}t ddddd}	W d    n1 sTw   Y  t ddddd}
t ddddd}t dddddd}t dddddd}t ddddddd}t ddddddd}t dddddddd}t dddddddd}|d|ksJ |d|ksJ |d	|ksJ |d	|ksJ |dd|ksJ |dd|ksJ tjttd |dd|ksJ |dd|	ksJ W d    n	1 sw   Y  |dd|
ksJ |dd|ksJ |dd|ks*J |dd|ks5J |dd|ks@J |dd|ksKJ |dd|ksVJ |dd|ksaJ |d|kskJ d S )Nr   r3   r   rB   rC   rv   r	   r4   r
   r?   r   rD   rE   r(   r   r   rF   r   rG   rH   rI   rJ   rL   rM   rN   r    rX   )r   ival_Mival_M_end_of_yearival_M_end_of_quarterival_M_to_Aival_M_to_Qival_M_to_W_startival_M_to_W_endival_M_to_B_startival_M_to_B_endival_M_to_D_startival_M_to_D_endival_M_to_H_startival_M_to_H_endival_M_to_T_startival_M_to_T_endival_M_to_S_startival_M_to_S_endr   r   r   test_conv_monthly   s\   z$TestFreqConversion.test_conv_monthlyc           +   	   C   sL  t ddddd}t ddddd}t ddddd}t dddd	d}t d
dddd}t ddddd}t ddddd}t ddddd}t ddddd}	t ddddd}
t ddddd}t ddddd}t ddddd}t dddd	d}t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t ddd}t dddd}t dddd}t dddddjdkrt ddd}nt dd d}t dddddjdkrt dddd}nt dddd}t dddddjdkr#t dddd}nt dddd}tjttd! t d"dddd} t d"ddd	d}!W d    n	1 sMw   Y  t ddddd}"t ddddd}#t d#dddd$d%}$t d#dddd&d%}%t d'dddd$d$d(}&t d'dddd&d)d(}'t d*dddd$d$d$d+}(t d*dddd&d)d)d+})|d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ tjttd! |d"d*| ksJ |d"d,|!ksJ W d    n	1 sw   Y  |dd*|"ksJ |dd,|#ksJ |dd*|	ks)J |dd,|
ks4J |dd*|ks?J |dd,|ksJJ |dd*|ksUJ |dd,|ks`J |dd*|kskJ |dd,|ksvJ |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|ksJ t}*tj	t
|*d! |d- W d    d S 1 sw   Y  d S ).Nr   r3   r   rD   rS   zW-SATr   zW-FRI   zW-THUrA   zW-WEDrv   zW-TUErQ   zW-MONr   rP   rC   rE   rR               r	   r4   r
   r?   r   rB     r(   r   rF   r   rG   rH   rI   rJ   rL   rM   rN   r    WK)r   weekdayr*   r+   r,   r-   r"   r   r.   r/   
ValueError)+r   ival_W	ival_WSUN	ival_WSAT	ival_WFRI	ival_WTHU	ival_WWED	ival_WTUE	ival_WMONival_WSUN_to_D_startival_WSUN_to_D_endival_WSAT_to_D_startival_WSAT_to_D_endival_WFRI_to_D_startival_WFRI_to_D_endival_WTHU_to_D_startival_WTHU_to_D_endival_WWED_to_D_startival_WWED_to_D_endival_WTUE_to_D_startival_WTUE_to_D_endival_WMON_to_D_startival_WMON_to_D_endival_W_end_of_yearival_W_end_of_quarterival_W_end_of_monthival_W_to_Aival_W_to_Qival_W_to_Mival_W_to_A_end_of_yearival_W_to_Q_end_of_quarterival_W_to_M_end_of_monthival_W_to_B_startival_W_to_B_endival_W_to_D_startival_W_to_D_endival_W_to_H_startival_W_to_H_endival_W_to_T_startival_W_to_T_endival_W_to_S_startival_W_to_S_endr1   r   r   r   test_conv_weekly   s   $z#TestFreqConversion.test_conv_weeklyc                 C   s  t }tjt|d tddddd W d    n1 sw   Y  tjt|d tddddd W d    n1 s;w   Y  tjt|d tdddd	d W d    n1 sZw   Y  tjt|d td
dddd W d    n1 syw   Y  tjt|d tddddd W d    n1 sw   Y  tjt|d tddddd W d    n1 sw   Y  tjt|d tddddd W d    d S 1 sw   Y  d S )Nr(   r   r3   r   rD   zWK-SATr   zWK-FRIr   zWK-THUrA   zWK-WEDrv   zWK-TUErQ   zWK-MON)r   r.   r/   r   r   )r   r1   r   r   r   test_conv_weekly_legacyq  s,   "z*TestFreqConversion.test_conv_weekly_legacyc              	   C   s  t jttd0 tddddd}tddddd}tdddd	d}tddddd}tdddd
d}W d    n1 s:w   Y  tddd}tdddd}tdddd}tddddd}	tddddd}
tdddddd}tdddddd}tddddddd}tddddddd}tdddddddd}tdddddddd}|d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|	ksJ |d|	ksJ |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s1J t jttd |d|ksCJ W d    d S 1 sOw   Y  d S )Nr(   r   r3   r   rD   rC   rE   rv   rR   r   r	   r4   r
   r?   r   rB   r   rS   r   rF   r   rG   rH   rI   rJ   rL   rM   rN   r    )r*   r+   r,   r-   r   r"   )r   ival_Bival_B_end_of_yearival_B_end_of_quarterival_B_end_of_monthival_B_end_of_weekival_B_to_Aival_B_to_Qival_B_to_Mival_B_to_Wival_B_to_Dival_B_to_H_startival_B_to_H_endival_B_to_T_startival_B_to_T_endival_B_to_S_startival_B_to_S_endr   r   r   test_conv_business  sX   $z%TestFreqConversion.test_conv_businessc              	   C   s  t ddddd}t ddddd}t ddddd}t ddddd}t ddddd}t dddd	d}t dddd
d}t ddddd}tjttd t dddd	d}	t ddddd}
W d    n1 sbw   Y  t ddd}t ddd}t ddd}t 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}t dddddd}t dddddd}t d dddddd!}t d ddddd"d!}t d#ddddddd$}t d#ddddd"d"d$}|d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d%|ksJ |d|ks"J |d|ks,J |d|ks6J |d|ks@J |d|ksJJ |d|ksTJ |d|ks^J tjttd> |d|	kspJ |dd#|	ks{J |dd&|
ksJ |dd#|	ksJ |dd&|
ksJ W d    n	1 sw   Y  |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|ksJ d S )'Nr   r3   r   rD   rC   rE   rv   rS   r   r   r(   r      r	   r4   r=   r   r>   zY-DECrt   rA   r?   ru   zQ-DECr   rB   r   rF   r   rG   rH   rI   rJ   rL   rM   rN   r
   r    rX   )r   ival_Dival_D_end_of_yearival_D_end_of_quarterival_D_end_of_monthival_D_end_of_weekival_D_fridayival_D_saturdayival_D_sundayival_B_fridayival_B_mondayival_D_to_Aival_Deoq_to_AJANival_Deoq_to_AJUNival_Deoq_to_ADECival_D_to_QEJANival_D_to_QEJUNival_D_to_QEDECival_D_to_Mival_D_to_Wival_D_to_H_startival_D_to_H_endival_D_to_T_startival_D_to_T_endival_D_to_S_startival_D_to_S_endr   r   r   test_conv_daily  s|   z"TestFreqConversion.test_conv_dailyc              	   C   s  t dddddd}t dddddd}t ddd	ddd}t dddddd}t dddd
dd}t dddddd}t dddddd}t ddd}t dddd}	t dddd}
t dddd
d}t ddddd}tjttd t ddddd}W d    n1 s}w   Y  t ddddddd}t ddddddd}t dddddddd}t dddddddd}|d|ksJ |d|ksJ |d|	ksJ |d|	ksJ |d|
ksJ |d|
ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ tjttd |d|ksJ |d|ks#J W d    n	1 s.w   Y  |dd|ks>J |dd|ksIJ |dd|ksTJ |dd|ks_J |d|ksiJ d S )NrF   r3   r   r   rG   rC   rE   rH   rv   rS   r	   r4   r
   r?   r   rB   r   rD   r   r(   r   rI   rJ   rL   rM   rN   r    rX   )r   ival_Hival_H_end_of_yearival_H_end_of_quarterival_H_end_of_monthival_H_end_of_weekival_H_end_of_dayival_H_end_of_busival_H_to_Aival_H_to_Qival_H_to_Mival_H_to_Wival_H_to_Dival_H_to_Bival_H_to_T_startival_H_to_T_endival_H_to_S_startival_H_to_S_endr   r   r   test_conv_hourly  s\   z#TestFreqConversion.test_conv_hourlyc              	   C   s  t ddddddd}t dddddd	d}t ddd
ddd	d}t dddddd	d}t dddddd	d}t dddddd	d}t dddddd	d}t dddddd	d}t ddd}	t dddd}
t dddd}t ddddd}t ddddd}tjttd t ddddd}W d    n1 sw   Y  t dddddd}t dddddddd}t ddddddd	d}|d|	ksJ |d|	ksJ |d|
ksJ |d|
ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ tjttd |d|ks J |d|ks*J W d    n	1 s5w   Y  |d|ksDJ |d|ksNJ |dd|ksYJ |dd|ksdJ |d|ksnJ d S )NrI   r3   r   r   rJ   rC   rE   rH   rL   rv   rS   r	   r4   r
   r?   r   rB   r   rD   r   r(   r   rF   rG   rM   rN   r    rX   )r   ival_Tival_T_end_of_yearival_T_end_of_quarterival_T_end_of_monthival_T_end_of_weekival_T_end_of_dayival_T_end_of_busival_T_end_of_hourival_T_to_Aival_T_to_Qival_T_to_Mival_T_to_Wival_T_to_Dival_T_to_Bival_T_to_Hival_T_to_S_startival_T_to_S_endr   r   r   test_conv_minutely9  sp   z%TestFreqConversion.test_conv_minutelyc              	   C   s  t dddddddd}t dddddd	d	d}t ddd
ddd	d	d}t dddddd	d	d}t dddddd	d	d}t dddddd	d	d}t dddddd	d	d}t dddddd	d	d}t ddddddd	d}	t ddd}
t dddd}t dddd}t ddddd}t ddddd}tjttd t ddddd}W d    n1 sw   Y  t dddddd}t ddddddd}|d|
ksJ |d|
ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ |d|ksJ tjttd |d|ks(J |d|ks2J W d    n	1 s=w   Y  |d|ksLJ |d|ksVJ |d|ks`J |	d|ksjJ |d|kstJ d S )NrM   r3   r   r   rN   rC   rE   rH   rL   rv   rS   r	   r4   r
   r?   r   rB   r   rD   r   r(   r   rF   rG   rI   rJ   rX   )r   ival_Sival_S_end_of_yearival_S_end_of_quarterival_S_end_of_monthival_S_end_of_weekival_S_end_of_dayival_S_end_of_busival_S_end_of_hourival_S_end_of_minuteival_S_to_Aival_S_to_Qival_S_to_Mival_S_to_Wival_S_to_Dival_S_to_Bival_S_to_Hival_S_to_Tr   r   r   test_conv_secondlyx  sl   z%TestFreqConversion.test_conv_secondlyc                 C   s   t ddd}|jdksJ |j}td}||ksJ |j|jd ks$J t dd}d}tjt|d |j W d    n1 s@w   Y  tjt|d |j W d    d S 1 s[w   Y  d S )Nz2020-01-30 15:57:27.576166usr   l   f	vu, i  z
2300-01-01r(   )	r   r   
start_timer   _valuer.   r/   r   end_time)r   r   startr;   r$   r1   r   r   r   test_conv_microsecond  s   
"z(TestFreqConversion.test_conv_microsecondc                 C   s  t ddd}dtdfD ]#}||}t ddd}||ks J |j|jks(J |j|jks0J qdtdfD ]%}|j|dd	}t ddd}||ksMJ |j|jksUJ |j|jks]J q8t ddd}dt fD ]#}||}t d
dd}||ks}J |j|jksJ |j|jksJ qjdt fD ]%}|j|dd	}t ddd}||ksJ |j|jksJ |j|jksJ qt ddd}dtdfD ]#}||}t ddd}||ksJ |j|jksJ |j|jksJ qdtdfD ](}|j|dd	}t ddd}||ksJ |j|jksJ |j|jksJ qt ddd}dtdfD ]'}||}t ddd}||ks<J |j|jksEJ |j|jksNJ q(dtdfD ])}|j|dd	}t ddd}||ksmJ |j|jksvJ |j|jksJ qWd S )Nr	   r3   r4   3Yrv   2007r   r!   how2009rM   2MrQ   z2007-12z2007-01z2009-12)r   r   YearEndr"   r   r   MonthEnd)r   pr   resultr;   r   r   r   test_asfreq_mult  sj   



z#TestFreqConversion.test_asfreq_multc           
      C   s  t ddd}t ddd}tddgddgD ]!\}}|j||d	}||ks&J |j|jks.J |j|jks6J qt dd
d}t dd
d}|d}|d}	t ddd}||ksYJ |j|jksaJ |j|jksiJ |	|ksoJ |	j|jkswJ |	j|jksJ |jddd	}|jddd	}	t ddd}||ksJ |j|jksJ |j|jksJ |	|ksJ |	j|jksJ |	j|jksJ d S )Nr?  rF   r   25h1D1h1h1Dr    r!   r@  r3   r4   z
2007-01-02z
2007-01-01)r   zipr"   r   r   )
r   rF  r;   r   rA  rG  p1p2r9   r:   r   r   r   test_asfreq_combined  s6   

z'TestFreqConversion.test_asfreq_combinedc                 C   s   t d}|jdddt ddksJ d}tjt|d |jddd W d    n1 s-w   Y  tjt|d t dd W d    d S 1 sJw   Y  d S )	N2013r   r!   )r   rA  z2013-01z'MS is not supported as period frequencyr(   MS)r   r"   r.   r/   r   )r   initialr1   r   r   r   test_asfreq_MS2  s   "z!TestFreqConversion.test_asfreq_MSN)__name__
__module____qualname____doc__r.   markfilterwarningsparametrizer   r'   r2   r<   rs   r   r   r   r   r   r  r  r%  r7  r=  rH  rO  rS  r   r   r   r   r      s,    


	
OB3q3M5?;G&r   )r.   pandas._libs.tslibs.periodr   pandas.errorsr   pandasr   r   r   pandas._testing_testingr*   r-   r   r   r   r   r   <module>   s    