o
    ØtBhxÀ  ã                   @   sÚ  d dl Z d dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ dd„ Zej de   dddd dd¡e   dddd dd¡e   dddddd¡ge   dddd dd¡e   dddddd¡ge   dddd	dd¡e   dddd
dd¡ggg¡ej dg d¢¡dd„ ƒƒZej dg d¢¡dd„ ƒZej dg d¢¡dd„ ƒZdd„ Zdd„ Zdd„ Z edgƒdd„ ƒZ!edgƒdd „ ƒZ"ed!gƒd"d#„ ƒZ#ed$gƒd%d&„ ƒZ$d'd(„ Z%d)d*„ Z&ed+gƒd,d-„ ƒZ'd.d/„ Z(d0d1„ Z)ed2gƒd3d4„ ƒZ*d5d6„ Z+d7d8„ Z,ej d9e j-d:d;d<d=„ e.d>d?d@ƒD ƒfe j-dAdBdCd=„ e.ddDd
ƒD ƒfe j-d@dEdFd=„ e.d dGd	ƒD ƒfe j-dHdIdJd=„ e.d dKƒD ƒfg¡dLdM„ ƒZ/dNdO„ Z0e&dPdQ„ ƒZ1e&dRdS„ ƒZ2dTdU„ Z3dVdW„ Z4ej dXe j-dYdZd[fe j-ddId\fe j-ddEd]fe j-ddBd^fe j-dd;d_fe j-d`d;dafe j-dbd;dafg¡dcdd„ ƒZ5dedf„ Z6ej dXe j-d:d;dgd=„ e.dhdid@ƒD ƒfe j-djdBg dk¢fe j-djdEg dl¢fe j-d	dZg dm¢fg¡dndo„ ƒZ7dpdq„ Z8drds„ Z9dtdu„ Z:dvdw„ Z;edxgƒdydz„ ƒZ<d{d|„ Z=d}d~„ Z>dd€„ Z?dd‚„ Z@dƒd„„ ZAejjBd…d†„ ƒZCejjBd‡dˆ„ ƒZDd‰dŠ„ ZEd‹dŒ„ ZFddŽ„ ZGej dde j-ddBfddge j-ddBe j-ddBgfg¡d‘d’„ ƒZHd“d”„ ZId•d–„ ZJd—d˜„ ZKd™dš„ ZLd›dœ„ ZMddž„ ZNdŸd „ ZOdS )¡é    N)Ú
rc_contextÚstyle)Úimage_comparisonc                     sî   t   ddd¡‰ ‡ fdd„tddƒD ƒ} tj| dd}t g d	¢¡}tjd
d}| ddd¡}| | |¡\}| ||¡\}tj 	|j
dd|j
dd¡ tjd
d}| ddd¡}| || ¡\}| ||¡\}tj 	|jdd|jdd¡ d S )Néá  é   c                    s   g | ]
}ˆ t j|d  ‘qS )©Údays)ÚdatetimeÚ	timedelta)Ú.0Úx©Úbase© úr/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/matplotlib/tests/test_dates.pyÚ
<listcomp>   s    z$test_date_numpyx.<locals>.<listcomp>r   é   údatetime64[ns]©Údtype)ç        ç       @ç      ð?)é
   é   )ÚfigsizeF)Úorig)r	   ÚrangeÚnpÚarrayÚpltÚfigureÚadd_subplotÚplotÚtestingÚassert_equalÚ	get_xdataÚ	get_ydata)ÚtimeÚtimenpÚdataÚfigÚaxÚhÚhnpr   r   r   Útest_date_numpyx   s   "r/   Út0r   r   r   r   r   )zdatetime64[s]zdatetime64[us]zdatetime64[ms]r   c                 C   s4   t  | ¡}tj| |d}t  |¡}tj ||¡ d S )Nr   )ÚmdatesÚdate2numr   r   r$   r%   )r0   r   r(   ÚtnpÚnptimer   r   r   Útest_date_date2num_numpy#   s   

r5   c                 C   sR   t   dddddd¡}t |¡tjg}tj|dg| d}t |¡}tj ||¡ d S )Nr   r   r   ÚNaTr   )r	   r1   r2   r   Únanr   r$   Úassert_array_equal)r   r0   Útmplr3   r4   r   r   r   Útest_date2num_NaT7   s
   
r:   Úunits)ÚsÚmsÚusÚnsc                 C   s$   t  t d| ¡¡}t |¡sJ ‚d S )Nr6   )r1   r2   r   Ú
datetime64Úisnan)r;   r9   r   r   r   Útest_date2num_NaT_scalarC   s   rB   c               	   C   s²   t  ¡ \} }| ¡  |  ¡  tj | ¡ t 	t 
d¡¡t 	t 
d¡¡g¡ t ¡  t d¡ t  ¡ \} }| ¡  |  ¡  tj | ¡ t 	t 
d¡¡t 	t 
d¡¡g¡ t ¡  d S )Nú
2000-01-01z
2010-01-01ú
0000-12-31)r    ÚsubplotsÚ
xaxis_dateÚdraw_without_renderingr   r$   Úassert_allcloseÚget_xlimr1   r2   r@   Ú_reset_epoch_test_exampleÚ	set_epoch©r+   r,   r   r   r   Útest_date_emptyI   s&   ÿÿ
ÿÿrM   c                  C   sH   t  ¡ } |  ¡ }| ddgddg¡ |j ¡  tj | 	¡ ddg¡ d S )Né2   éF   r   r   )
r    r!   r"   r#   ÚxaxisÚ	axis_dater   r$   rH   rI   rL   r   r   r   Útest_date_not_empty_   s
   
rR   c               	   C   sæ   t  ¡ \} }| d¡ | t d¡t d¡gddg¡ tj | ¡ t	 
t d¡¡t	 
t d¡¡g¡ t	 ¡  t	 d¡ t  ¡ \} }| d¡ | t d¡t d¡gddg¡ tj | ¡ t	 
t d¡¡t	 
t d¡¡g¡ t	 ¡  d S )Nç      ø?z
2016-01-01z
2016-01-02r   r   rD   )r    rE   Úaxhliner#   r   r@   r$   rH   rI   r1   r2   rJ   rK   rL   r   r   r   Útest_axhlineh   s&   
 ÿÿ

 ÿÿrU   zdate_axhspan.pngc                  C   sn   t   ddd¡} t   ddd¡}t ¡ \}}|j| |ddd | | t jdd	 |t jdd	 ¡ |jdd
 d S )NéÙ  r   é   é   Úblueç      Ð?©Ú	facecolorÚalphaé   r   ©Úleft)r	   r    rE   ÚaxhspanÚset_ylimr
   Úsubplots_adjust©r0   Útfr+   r,   r   r   r   Útest_date_axhspan|   s   ÿrf   zdate_axvspan.pngc                  C   sj   t   ddd¡} t   ddd¡}t ¡ \}}|j| |ddd | | t jd	d
 |t jd	d
 ¡ | ¡  d S )NéÐ  r   rW   éÚ  rX   rY   rZ   r[   iÐ  r   )r	   r    rE   ÚaxvspanÚset_xlimr
   Úautofmt_xdaterd   r   r   r   Útest_date_axvspanˆ   s   ÿrl   zdate_axhline.pngc                  C   sl   t   ddd¡} t   ddd¡}t ¡ \}}|j| ddd | | t jdd	 |t jdd	 ¡ |jd
d d S ©NrV   r   rW   é   rY   r   ©ÚcolorÚlwr^   r   rZ   r_   )r	   r    rE   rT   rb   r
   rc   rd   r   r   r   Útest_date_axhline”   s   ÿrr   zdate_axvline.pngc                  C   sh   t   ddd¡} t   ddd¡}t ¡ \}}|j| ddd | | t jdd	 |t jdd	 ¡ | ¡  d S )
Nrg   r   rW   rX   Úredr   ro   r^   r   )r	   r    rE   Úaxvlinerj   r
   rk   rd   r   r   r   Útest_date_axvline    s   ÿru   c                 C   s   |   d¡ t ddd¡}t ddd¡}t ¡ \}}t t¡$}|j||fdd t|ƒdks0J ‚dt	|d j
ƒv s;J ‚W d   ƒ n1 sEw   Y  | g g ¡ |j t ¡ ¡ |j ¡ ƒ }t|ƒd	ksfJ ‚| jrstd
d„ | jD ƒƒsuJ ‚t| jƒdks~J ‚d S )NÚWARNINGrg   r   rW   T)Úautoz)Attempting to set identical left == rightr   éè  c                 s   s$    | ]}|j d ko|jdkV  qdS )zmatplotlib.tickerrv   N)ÚnameÚ	levelname)r   Úrecordr   r   r   Ú	<genexpr>Â   s
   € ÿ
ÿz+test_too_many_date_ticks.<locals>.<genexpr>)Ú	set_levelr	   r    rE   ÚpytestÚwarnsÚUserWarningrj   ÚlenÚstrÚmessager#   rP   Úset_major_locatorr1   Ú
DayLocatorÚget_major_locatorÚrecordsÚall)Úcaplogr0   re   r+   r,   ÚrecÚvr   r   r   Útest_too_many_date_ticks¬   s"   
üþrŒ   c                    s   t  ˆ ¡‡ fdd„ƒ}|S )Nc                      s$   t  ¡  t  d¡ ˆ ƒ  t  ¡  d S )NrC   )r1   rJ   rK   r   ©Úthefuncr   r   ÚwrapperÉ   s   
z%_new_epoch_decorator.<locals>.wrapper)Ú	functoolsÚwraps)rŽ   r   r   r   r   Ú_new_epoch_decoratorÈ   s   r’   zRRuleLocator_bounds.pngc                  C   s¶   dd l m  m}  |  ¡  t ddd¡}t ddd¡}t ¡ }t ¡ }| d¡ |j	||gddgdd	 t
jtjjd
d}t
 |¡}|j |¡ |j t
 |¡¡ | ¡  | ¡  d S )Nr   rx   r   ip  Tr   r   Úo©Úmarkeréô  ©Úinterval)Úmatplotlib.testing.jpl_unitsr$   Ú	jpl_unitsÚregisterr	   r    r!   ÚsubplotÚset_autoscale_onr#   r1   ÚrrulewrapperÚdateutilÚrruleÚYEARLYÚRRuleLocatorrP   r„   Úset_major_formatterÚAutoDateFormatterÚautoscale_viewrk   )r;   r0   re   r+   r,   r    Úlocatorr   r   r   Útest_RRuleLocatorÒ   s   

r§   c                  C   s@   t  ¡ } tjdddt jd}tjdddt jd}|  ||¡ d S )Nr   )ÚyearÚmonthÚdayÚtzinfoé   )r1   r…   r	   ÚUTCÚtick_values)ÚlocÚx1Úy1r   r   r   Útest_RRuleLocator_dayrangeê   s   r²   c               	   C   sn   t jtjjdd} t  | ¡}tjdddd}tjddddd}ddg}ttt	t  
| ||¡¡ƒƒ|ks5J ‚d S )	Nr^   r—   iä  r   )r¨   r©   rª   )r¨   r©   rª   Úmicrosecondú2020-01-01 00:00:00+00:00z 2020-01-01 00:00:00.000001+00:00)r1   rž   rŸ   r    ÚSECONDLYr¢   r	   ÚlistÚmapr‚   Únum2dater®   )r    r¯   Úd1Úd2Úexpectedr   r   r   Útest_RRuleLocator_close_minmaxò   s   
ÿ(r¼   z#DateFormatter_fractionalSeconds.pngc                  C   sˆ   dd l m  m}  |  ¡  t dddddd¡}t dddddd¡}t ¡ }t ¡ }| d¡ |j	||gddgdd | 
¡  | ¡  d S )	Nr   iÑ  r   Tr   r   r“   r”   )r™   r$   rš   r›   r	   r    r!   rœ   r   r#   r¥   rk   )r;   r0   re   r+   r,   r   r   r   Útest_DateFormatterþ   s   
r½   c               	   C   s(  dt jd< t ddddd¡t ddddd¡t dddd	d¡g} g d
¢}t  ¡ \}}| | |¡ |j t d¡¡ |j	 
¡  dd„ | ¡ D ƒ}g d¢}||ksPJ ‚|j t ¡ ¡ |j t d¡¡ t d¡}|j t |¡¡ |j t d¡¡ |j	 
¡  dd„ |jddD ƒ}g d¢}||ks’J ‚dS )zh
    Test if setting the locator only will update the AutoDateFormatter to use
    the new locator.
    z%d %H:%Mzdate.autoformatter.minuteiâ  é	   é   é   r   é;   r   )r   r   r   )r   r¿   c                 S   ó   g | ]}|  ¡ ‘qS r   ©Úget_text©r   Útlr   r   r   r   &  ó    z.test_locator_set_formatter.<locals>.<listcomp>)z30 08:00z30 08:30z30 09:00z30 09:30z30 10:00z30 10:30)r^   é7   )é   é   )é   é-   c                 S   rÂ   r   rÃ   rÅ   r   r   r   r   2  rÇ   Úminor)Úwhich)z30 08:15z30 08:45z30 09:15z30 09:45z30 10:15N)r    ÚrcParamsr	   rE   r#   rP   r„   r1   ÚMinuteLocatorÚcanvasÚdrawÚget_xticklabelsÚmtickerÚNullLocatorÚset_minor_locatorÚset_minor_formatterr¤   )Útr   r+   r,   Ú
ticklabelsr»   Ú	decoy_locr   r   r   Útest_locator_set_formatter  s,   
þ


rÛ   c                  C   sN   G dd„ dƒ} dd„ }t  | ƒ ¡}||jd< |t ddd¡gƒd	gks%J ‚d S )
Nc                   @   s   e Zd Zdd„ ZdS )z.test_date_formatter_callable.<locals>._Locatorc                 S   s   dS )Niõÿÿÿr   )Úselfr   r   r   Ú	_get_unit:  s    z8test_date_formatter_callable.<locals>._Locator._get_unitN)Ú__name__Ú
__module__Ú__qualname__rÝ   r   r   r   r   Ú_Locator9  s    rá   c                 S   s   dd„ | D ƒS )Nc                 S   s   g | ]}|  d ¡‘qS )z	%d-%m//%Y)Ústrftime)r   Údtr   r   r   r   =  ó    zVtest_date_formatter_callable.<locals>.callable_formatting_function.<locals>.<listcomp>r   )ÚdatesÚ_r   r   r   Úcallable_formatting_function<  s   zBtest_date_formatter_callable.<locals>.callable_formatting_functioniöÿÿÿéÞ  rÉ   é   z25-12//2014)r1   r¤   Úscaledr	   )rá   rç   Ú	formatterr   r   r   Útest_date_formatter_callable7  s
   
"rì   zdelta, expectedé (  ©Úweeksc                 C   ó   g | ]}d | ‘qS ©z$\mathdefault{%d}$r   )r   r¨   r   r   r   r   F  rÇ   r   éÆ  i{  rW   r¿   r   c                 C   rð   )z $\mathdefault{1990{-}01{-}%02d}$r   )r   rª   r   r   r   r   H  rÇ   é    ©Úhoursc                 C   rð   )z$\mathdefault{01{-}01\;%02d}$r   )r   Úhourr   r   r   r   J  rÇ   rX   r   ©Úminutesc                 C   rð   )z$\mathdefault{01\;00{:}%02d}$r   )r   Úminur   r   r   r   L  rÇ   é   c                    s|   t  d¡ t ddd¡}||  }tjdd}| ¡  |j t |¡t |¡¡ tj	|dd‰ ‡ fdd	„|ƒ D ƒ|ks<J ‚d S )
NÚdefaultrò   r   F©Úinterval_multiplesT©Úusetexc                    s   g | ]}ˆ |ƒ‘qS r   r   )r   r¯   ©rë   r   r   r   Y  rÇ   z.test_date_formatter_usetex.<locals>.<listcomp>)
r   Úuser	   r1   ÚAutoDateLocatorÚcreate_dummy_axisÚaxisÚset_view_intervalr2   r¤   )Údeltar»   r¹   rº   r¦   r   r   r   Útest_date_formatter_usetexD  s   
 r  c                  C   sÔ   t j dddtjd} t j dddtjd}t jdd}tt | ||¡ƒdks'J ‚|t jdd }tt | ||¡ƒdks<J ‚t j dddtjd}t jd	d}t | ||¡}t|ƒd
ks[J ‚t |d ¡|| kshJ ‚dS )zj
    This test should check if drange works as expected, and if all the
    rounding errors are fixed
    iÛ  r   ©r«   r   rô   é   ©Úmicrosecondsré   é   é   éÿÿÿÿN)r	   r1   r­   r
   r   Údranger¸   )ÚstartÚendr  Ú	dateranger   r   r   Útest_drange\  s   r  c               
   C   sì   dd„ } t   ddd¡}t jddg d¢gt jddg d	¢gt jd
dg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gf}|D ]\}}|| }| ||ƒ}tttt |ƒ ¡ƒƒ|kssJ ‚qWd S )Nc                 S   ó.   t jdd}| ¡  |jjt  | |g¡Ž  |S )NFrü   ©r1   r  r  r  r  r2   ©Údate1Údate2r¦   r   r   r   Ú_create_auto_date_locatorz  ó   z9test_auto_date_locator.<locals>._create_auto_date_locatorrò   r   rí   rî   )
ú1990-01-01 00:00:00+00:00z2010-01-01 00:00:00+00:00z2030-01-01 00:00:00+00:00z2050-01-01 00:00:00+00:00z2070-01-01 00:00:00+00:00z2090-01-01 00:00:00+00:00z2110-01-01 00:00:00+00:00z2130-01-01 00:00:00+00:00z2150-01-01 00:00:00+00:00z2170-01-01 00:00:00+00:00é4   )r  z1990-02-01 00:00:00+00:00z1990-03-01 00:00:00+00:00z1990-04-01 00:00:00+00:00z1990-05-01 00:00:00+00:00z1990-06-01 00:00:00+00:00z1990-07-01 00:00:00+00:00z1990-08-01 00:00:00+00:00z1990-09-01 00:00:00+00:00z1990-10-01 00:00:00+00:00z1990-11-01 00:00:00+00:00z1990-12-01 00:00:00+00:00é   r   )z1990-01-05 00:00:00+00:00z1990-01-26 00:00:00+00:00z1990-02-16 00:00:00+00:00z1990-03-09 00:00:00+00:00z1990-03-30 00:00:00+00:00z1990-04-20 00:00:00+00:00z1990-05-11 00:00:00+00:00é(   )z1990-01-03 00:00:00+00:00z1990-01-10 00:00:00+00:00z1990-01-17 00:00:00+00:00z1990-01-24 00:00:00+00:00z1990-01-31 00:00:00+00:00z1990-02-07 00:00:00+00:00rô   )r  z1990-01-01 04:00:00+00:00z1990-01-01 08:00:00+00:00z1990-01-01 12:00:00+00:00z1990-01-01 16:00:00+00:00z1990-01-01 20:00:00+00:00z1990-01-02 00:00:00+00:00z1990-01-02 04:00:00+00:00z1990-01-02 08:00:00+00:00z1990-01-02 12:00:00+00:00z1990-01-02 16:00:00+00:00rW   r÷   )r  z1990-01-01 00:05:00+00:00z1990-01-01 00:10:00+00:00z1990-01-01 00:15:00+00:00z1990-01-01 00:20:00+00:00©Úseconds)	r  z1990-01-01 00:00:05+00:00z1990-01-01 00:00:10+00:00z1990-01-01 00:00:15+00:00z1990-01-01 00:00:20+00:00z1990-01-01 00:00:25+00:00z1990-01-01 00:00:30+00:00z1990-01-01 00:00:35+00:00z1990-01-01 00:00:40+00:00éÜ  r
  )z 1989-12-31 23:59:59.999500+00:00r  z 1990-01-01 00:00:00.000500+00:00z 1990-01-01 00:00:00.001000+00:00z 1990-01-01 00:00:00.001500+00:00z 1990-01-01 00:00:00.002000+00:00©r	   r
   r¶   r·   r‚   r1   r¸   )r  r¹   ÚresultsÚt_deltar»   rº   r¦   r   r   r   Útest_auto_date_locatorx  s@   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿÒ8
 ýr%  c               
   C   sì   dd„ } t jddg d¢gt jddg d¢gt jdd	g d
¢gt jdd	g d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gf}t   ddd¡}|D ]\}}|| }| ||ƒ}tttt |ƒ ¡ƒƒ|kssJ ‚qWd S )Nc                 S   r  )NTrü   r  r  r   r   r   r  Á  r  zAtest_auto_date_locator_intmult.<locals>._create_auto_date_locatorrí   rî   ©z1980-01-01 00:00:00+00:00z2000-01-01 00:00:00+00:00r´   z2040-01-01 00:00:00+00:00z2060-01-01 00:00:00+00:00z2080-01-01 00:00:00+00:00z2100-01-01 00:00:00+00:00z2120-01-01 00:00:00+00:00z2140-01-01 00:00:00+00:00z2160-01-01 00:00:00+00:00z2180-01-01 00:00:00+00:00z2200-01-01 00:00:00+00:00r  )ú1997-01-01 00:00:00+00:00ú1997-02-01 00:00:00+00:00ú1997-03-01 00:00:00+00:00ú1997-04-01 00:00:00+00:00ú1997-05-01 00:00:00+00:00z1997-06-01 00:00:00+00:00z1997-07-01 00:00:00+00:00z1997-08-01 00:00:00+00:00z1997-09-01 00:00:00+00:00z1997-10-01 00:00:00+00:00z1997-11-01 00:00:00+00:00z1997-12-01 00:00:00+00:00r  r   )
r'  z1997-01-15 00:00:00+00:00r(  z1997-02-15 00:00:00+00:00r)  z1997-03-15 00:00:00+00:00r*  z1997-04-15 00:00:00+00:00r+  z1997-05-15 00:00:00+00:00r  )r'  z1997-01-05 00:00:00+00:00z1997-01-09 00:00:00+00:00z1997-01-13 00:00:00+00:00z1997-01-17 00:00:00+00:00z1997-01-21 00:00:00+00:00z1997-01-25 00:00:00+00:00z1997-01-29 00:00:00+00:00r(  z1997-02-05 00:00:00+00:00z1997-02-09 00:00:00+00:00rô   )r'  z1997-01-01 04:00:00+00:00z1997-01-01 08:00:00+00:00z1997-01-01 12:00:00+00:00z1997-01-01 16:00:00+00:00z1997-01-01 20:00:00+00:00z1997-01-02 00:00:00+00:00z1997-01-02 04:00:00+00:00z1997-01-02 08:00:00+00:00z1997-01-02 12:00:00+00:00z1997-01-02 16:00:00+00:00rW   r÷   )r'  z1997-01-01 00:05:00+00:00z1997-01-01 00:10:00+00:00z1997-01-01 00:15:00+00:00z1997-01-01 00:20:00+00:00r  )	r'  z1997-01-01 00:00:05+00:00z1997-01-01 00:00:10+00:00z1997-01-01 00:00:15+00:00z1997-01-01 00:00:20+00:00z1997-01-01 00:00:25+00:00z1997-01-01 00:00:30+00:00z1997-01-01 00:00:35+00:00z1997-01-01 00:00:40+00:00r!  r
  )z 1996-12-31 23:59:59.999500+00:00r'  z 1997-01-01 00:00:00.000500+00:00z 1997-01-01 00:00:00.001000+00:00z 1997-01-01 00:00:00.001500+00:00z 1997-01-01 00:00:00.002000+00:00éÍ  r   r"  )r  r#  r¹   r$  r»   rº   r¦   r   r   r   Útest_auto_date_locator_intmult¿  s@   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿÍ=
 ýr-  c                  C   sR   t jdd} t  | ¡}d}| ||dt j  |dt j  g¡}|g d¢ks'J ‚d S )NTrü   g    €BÃ@r–   i„  )ú00:00z00.0005z00.0009)r1   r  ÚConciseDateFormatterÚformat_ticksÚMUSECONDS_PER_DAY)r¦   rë   Ú	year_1996Ústringsr   r   r   Ú test_concise_formatter_subsecond  s   
ýr4  c               
   C   sè   dd„ } t   ddd¡}t jdddd„ td	d
dƒD ƒgt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gf}|D ]\}}|| }| ||ƒ}||ksqJ ‚q^d S )Nc                 S   sf   t  ¡ \}}tjdd}t |¡}|j |¡ |j |¡ | | |¡ |j	 
¡  dd„ | ¡ D ƒ}|S )NTrü   c                 S   rÂ   r   rÃ   ©r   Ústr   r   r   r      rÇ   zMtest_concise_formatter.<locals>._create_auto_date_locator.<locals>.<listcomp>©r    rE   r1   r  r/  Úyaxisr„   r£   rb   rÑ   rÒ   Úget_yticklabels©r  r  r+   r,   r¦   rë   Ústsr   r   r   r    s   

z9test_concise_formatter.<locals>._create_auto_date_locatorr,  r   rí   rî   c                 S   ó   g | ]}t |ƒ‘qS r   ©r‚   ©r   rØ   r   r   r   r   %  rÇ   z*test_concise_formatter.<locals>.<listcomp>é¼  é™  rW   r  )Ú1997ÚFebÚMarÚAprÚMayÚJunÚJulÚAugÚSepÚOctÚNovÚDecr  r   )
ÚJanÚ15rB  rN  rC  rN  rD  rN  rE  rN  r  )rM  Ú05Ú09Ú13Ú17Ú21Ú25Ú29rB  rO  rP  rô   )zJan-01ú04:00ú08:00ú12:00ú16:00ú20:00zJan-02rV  rW  rX  rY  r÷   )r.  ú00:05ú00:10ú00:15ú00:20r  )	r.  rO  Ú10rN  Ú20rT  Ú30Ú35Ú40r   )ú59.5r.  ú00.5ú01.0ú01.5ú02.0ú02.5©r	   r
   r   ©r  r¹   r#  r$  r»   rº   r3  r   r   r   Útest_concise_formatter  s@   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿç
ýrl  zt_delta, expectedg{®Gáz„?r  z1997-Jan-01 00:00z1997-Jan-01 00:01ú1997-Jan-01ú1997-Jan-02ú1997-Jané   Ú é  c                 C   s~   t   ddd¡}||  }t ¡ \}}t ¡ }t |¡}|j |¡ |j |¡ | 	||gddg¡ |j
 ¡  | ¡ |ks=J ‚d S )Nr,  r   r   )r	   r    rE   r1   r  r/  rP   r„   r£   r#   rÑ   rÒ   Ú
get_offset)r$  r»   r¹   rº   r+   r,   r¦   rë   r   r   r   Ú"test_concise_formatter_show_offsetG  s   


rt  c                  C   s   t  ¡ \} }t ddd¡}|tjdd }t ¡ }t |¡}|j |¡ |j 	|¡ | 
||gddg¡ |  ¡  | ¡ dks@J ‚| ||tjdd ¡ |  ¡  | ¡ dksXJ ‚| |tjd	d |tjd
d ¡ |  ¡  | ¡ dksvJ ‚| ||tjdd ¡ |  ¡  | ¡ dksŽJ ‚d S )Nr,  r   rr  rî   r   rq  r   ro  é   r¿   rA  )r    rE   r	   r
   r1   r  r/  rP   r„   r£   r#   rG   rs  rj   )r+   r,   r¹   rº   r¦   rë   r   r   r   Útest_offset_changes_  s*   
ÿrv  c                 C   s   g | ]}d |f ‘qS rñ   r   r>  r   r   r   r   {  rä   r?  r@  r  )rM  ú$\mathdefault{05}$ú$\mathdefault{09}$z$\mathdefault{13}$z$\mathdefault{17}$z$\mathdefault{21}$z$\mathdefault{25}$z$\mathdefault{29}$rB  rw  rx  )zJan$\mathdefault{{-}01}$ú$\mathdefault{04{:}00}$ú$\mathdefault{08{:}00}$ú$\mathdefault{12{:}00}$ú$\mathdefault{16{:}00}$z$\mathdefault{20{:}00}$zJan$\mathdefault{{-}02}$ry  rz  r{  r|  )z$\mathdefault{59.5}$z$\mathdefault{00{:}00}$z$\mathdefault{00.5}$z$\mathdefault{01.0}$z$\mathdefault{01.5}$z$\mathdefault{02.0}$z$\mathdefault{02.5}$c                 C   sj   t   ddd¡}||  }tjdd}| ¡  |j t |¡t |¡¡ tj|dd}| |ƒ ¡|ks3J ‚d S )Nr,  r   Trü   rþ   )	r	   r1   r  r  r  r  r2   r/  r0  )r$  r»   r¹   rº   r¦   rë   r   r   r   Útest_concise_formatter_usetexy  s   r}  c               
      óô   g d¢‰ ‡ fdd„} t   ddd¡}t jdddd	„ td
ddƒD ƒgt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gt jddg d¢gf}|D ]\}}|| }| ||ƒ}||kswJ ‚qdd S )N)z%Yz%m/%Yzday: %dú%H hr %M minr  z	%S.%f secc                    ój   t  ¡ \}}tjdd}tj|ˆ d}|j |¡ |j |¡ | | |¡ |j	 
¡  dd„ | ¡ D ƒ}|S )NTrü   ©Úformatsc                 S   rÂ   r   rÃ   r5  r   r   r   r   §  rÇ   zUtest_concise_formatter_formats.<locals>._create_auto_date_locator.<locals>.<listcomp>r7  r:  r  r   r   r  ž  s   
zAtest_concise_formatter_formats.<locals>._create_auto_date_locatorr,  r   rí   rî   c                 S   r<  r   r=  r>  r   r   r   r   ¬  rÇ   z2test_concise_formatter_formats.<locals>.<listcomp>r?  r@  rW   r  )rA  ú02/1997ú03/1997ú04/1997ú05/1997z06/1997z07/1997z08/1997z09/1997z10/1997z11/1997z12/1997r  r   )
ú01/1997úday: 15rƒ  rˆ  r„  rˆ  r…  rˆ  r†  rˆ  r  )r‡  úday: 05úday: 09zday: 13zday: 17zday: 21zday: 25zday: 29rƒ  r‰  rŠ  rô   )zday: 01ú04 hr 00 minú08 hr 00 minú12 hr 00 minú16 hr 00 minz20 hr 00 minzday: 02r‹  rŒ  r  rŽ  r÷   )ú00 hr 00 minz00 hr 05 minz00 hr 10 minz00 hr 15 minz00 hr 20 minr  )	r  z05.000000 secz10.000000 secz15.000000 secz20.000000 secz25.000000 secz30.000000 secz35.000000 secz40.000000 secr   )z59.500000 secr  z00.500000 secz01.000000 secz01.500000 secz02.000000 secz02.500000 secrj  rk  r   r  r   Útest_concise_formatter_formatsš  s&   ÿå 
ýr  c               
      r~  )N)rq  z'%yz%Bz%m-%dz%Sz%S.%fc                    r€  )NTrü   ©Úzero_formatsc                 S   rÂ   r   rÃ   r5  r   r   r   r   Þ  rÇ   zVtest_concise_formatter_zformats.<locals>._create_auto_date_locator.<locals>.<listcomp>r7  r:  r‘  r   r   r  Ô  s   ÿ
zBtest_concise_formatter_zformats.<locals>._create_auto_date_locatorr,  r   rí   rî   c                 S   r<  r   r=  r>  r   r   r   r   ã  rÇ   z3test_concise_formatter_zformats.<locals>.<listcomp>r?  r@  rW   r  )z'97rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  r  r   )
ÚJanuaryrN  ÚFebruaryrN  ÚMarchrN  ÚAprilrN  rE  rN  r  )r“  rO  rP  rQ  rR  rS  rT  rU  r”  rO  rP  rô   )z01-01rV  rW  rX  rY  rZ  z01-02rV  rW  rX  rY  r÷   )Ú00r[  r\  r]  r^  r  )	r—  rO  r_  rN  r`  rT  ra  rb  rc  r   )rd  z00.0re  rf  rg  rh  ri  rj  rk  r   r‘  r   Útest_concise_formatter_zformatsÑ  sB   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿç
ýr˜  c            
      C   sÌ   dd„ } t   ddd¡jt jjd}t jddg d¢d	gt jd
dg d¢dgt jddg d¢dgt jddg d¢dgf}t  t jdd¡}|D ]\}}}|| }| |||ƒ\}}	||ks]J ‚|	|kscJ ‚qFd S )Nc                 S   sx   t  ¡ \}}tjdd}tj||d}|j |¡ |j |¡ | | |¡ |j	 
¡  dd„ | ¡ D ƒ}||j ¡  ¡ fS )NTrü   ©Útzc                 S   rÂ   r   rÃ   r5  r   r   r   r     rÇ   zPtest_concise_formatter_tz.<locals>._create_auto_date_locator.<locals>.<listcomp>)r    rE   r1   r  r/  r8  r„   r£   rb   rÑ   rÒ   r9  Úget_offset_textrÄ   )r  r  rš  r+   r,   r¦   rë   r;  r   r   r   r    s   
z<test_concise_formatter_tz.<locals>._create_auto_date_locatorr,  r   r  r  rô   )ú03:00ú07:00ú11:00ú15:00ú19:00z23:00rœ  r  rž  rŸ  r   rn  rW   r÷   )rœ  z03:05z03:10z03:15z03:20rm  r  )	rœ  rO  r_  rN  r`  rT  ra  rb  rc  z1997-Jan-01 03:00r   )rd  rœ  re  rf  rg  rh  ri  r   )r	   ÚreplaceÚtimezoneÚutcr
   )
r  r¹   r#  Únew_tzr$  Úexpected_stringsÚexpected_offsetrº   r3  Úoffsetr   r   r   Útest_concise_formatter_tz  s4   
ý
þ
þ
þóür¨  c            	   	   C   s   dd„ } t jddg d¢gt jddg d¢gt jdd	g d
¢gt jdd	g d¢gt jddg d¢gt jddg d¢gt jddg d¢gf}tj d¡}t j ddd|d}|D ]7\}}tddiƒ% || }| |||ƒ}tttt	j
|ƒ |dƒƒ}||ks~J ‚W d   ƒ n1 sˆw   Y  qVd S )Nc                 S   s0   t jd|d}| ¡  |jjt  | |g¡Ž  |S )NT©rý   rš  r  )r  r  rš  r¦   r   r   r   r  /  s   zDtest_auto_date_locator_intmult_tz.<locals>._create_auto_date_locatorrí   rî   )z1980-01-01 00:00:00-08:00z2000-01-01 00:00:00-08:00z2020-01-01 00:00:00-08:00z2040-01-01 00:00:00-08:00z2060-01-01 00:00:00-08:00z2080-01-01 00:00:00-08:00z2100-01-01 00:00:00-08:00z2120-01-01 00:00:00-08:00z2140-01-01 00:00:00-08:00z2160-01-01 00:00:00-08:00z2180-01-01 00:00:00-08:00z2200-01-01 00:00:00-08:00r  )ú1997-01-01 00:00:00-08:00ú1997-02-01 00:00:00-08:00ú1997-03-01 00:00:00-08:00ú1997-04-01 00:00:00-08:00ú1997-05-01 00:00:00-07:00z1997-06-01 00:00:00-07:00z1997-07-01 00:00:00-07:00z1997-08-01 00:00:00-07:00z1997-09-01 00:00:00-07:00z1997-10-01 00:00:00-07:00z1997-11-01 00:00:00-08:00z1997-12-01 00:00:00-08:00r  r   )
rª  z1997-01-15 00:00:00-08:00r«  z1997-02-15 00:00:00-08:00r¬  z1997-03-15 00:00:00-08:00r­  z1997-04-15 00:00:00-07:00r®  z1997-05-15 00:00:00-07:00r  )rª  z1997-01-05 00:00:00-08:00z1997-01-09 00:00:00-08:00z1997-01-13 00:00:00-08:00z1997-01-17 00:00:00-08:00z1997-01-21 00:00:00-08:00z1997-01-25 00:00:00-08:00z1997-01-29 00:00:00-08:00r«  z1997-02-05 00:00:00-08:00z1997-02-09 00:00:00-08:00rô   )rª  z1997-01-01 04:00:00-08:00z1997-01-01 08:00:00-08:00z1997-01-01 12:00:00-08:00z1997-01-01 16:00:00-08:00z1997-01-01 20:00:00-08:00z1997-01-02 00:00:00-08:00z1997-01-02 04:00:00-08:00z1997-01-02 08:00:00-08:00z1997-01-02 12:00:00-08:00z1997-01-02 16:00:00-08:00rW   r÷   )rª  z1997-01-01 00:05:00-08:00z1997-01-01 00:10:00-08:00z1997-01-01 00:15:00-08:00z1997-01-01 00:20:00-08:00r  )	rª  z1997-01-01 00:00:05-08:00z1997-01-01 00:00:10-08:00z1997-01-01 00:00:15-08:00z1997-01-01 00:00:20-08:00z1997-01-01 00:00:25-08:00z1997-01-01 00:00:30-08:00z1997-01-01 00:00:35-08:00z1997-01-01 00:00:40-08:00zCanada/Pacificr,  r   r  z_internal.classic_modeFr™  )r	   r
   rŸ   rš  Úgettzr   r¶   r·   r‚   r1   r¸   )	r  r#  rš  r¹   r$  r»   rº   r¦   r6  r   r   r   Ú!test_auto_date_locator_intmult_tz.  sD   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿÔ5ü€ÿr°  zdate_inverted_limit.pngc                  C   st   t   ddd¡} t   ddd¡}t ¡ \}}|j| ddd | | t jdd	 |t jdd	 ¡ | ¡  |jd
d d S rm   )r	   r    rE   rT   rb   r
   Úinvert_yaxisrc   rd   r   r   r   Útest_date_inverted_limitt  s   ÿr²  c                    s    t j d¡}tj}tjddddd|d}tjddd	}d
‰ d}| |||d}|||ƒ}dt t 	d¡¡ ‰‡ ‡fdd„t
|ƒD ƒ}	tt |¡ƒ}
|
|	ksNJ ‚d S )NzEurope/Brusselsrè   r   r¿   r   r  é!   rÌ   )rø   r   g      ˜?rÀ   ©r  ÚfreqÚperiodsg    ´p&ArD   c                    s   g | ]}ˆ|ˆ   ‘qS r   r   ©r   Úi©Úinterval_daysr0   r   r   r   ‘  ó    z&_test_date2num_dst.<locals>.<listcomp>)rŸ   rš  r¯  r1   r­   r	   r
   r2   r   r@   r   r¶   )Ú
date_rangeÚ
tz_convertÚBRUSSELSr­   Údtstartr˜   ÚNÚdt_utcÚdt_bxlÚexpected_ordinalfÚactual_ordinalfr   r¹  r   Ú_test_date2num_dst  s   
rÅ  c                     s4   G dd„ dt j ƒ‰ ‡ fdd„} dd„ }t| |ƒ d S )Nc                       sD   e Zd ZdZ‡ fdd„Z‡ fdd„Z‡ fdd„Zedd	„ ƒZ‡  Z	S )
z%test_date2num_dst.<locals>.dt_tzawarezü
        This bug specifically occurs because of the normalization behavior of
        pandas Timestamp objects, so in order to replicate it, we need a
        datetime-like object that applies timezone normalization after
        subtraction.
        c                    sX   t ƒ  |¡}t|dd ƒ}|d urt|dd ƒ}|d ur| |¡}t|tjƒr*|  |¡}|S )Nr«   Ú	normalize)ÚsuperÚ__sub__ÚgetattrrÆ  Ú
isinstancer	   Ú
mk_tzaware)rÜ   ÚotherÚrr«   Ú	localizer©Ú	__class__r   r   rÈ  £  s   

z-test_date2num_dst.<locals>.dt_tzaware.__sub__c                    s   |   tƒ  |¡¡S ©N)rË  rÇ  Ú__add__)rÜ   rÌ  rÏ  r   r   rÒ  ±  ó   z-test_date2num_dst.<locals>.dt_tzaware.__add__c                    s   t ƒ  |¡}|  |¡S rÑ  )rÇ  Ú
astimezonerË  )rÜ   r«   rã   rÏ  r   r   rÔ  ´  s   
z0test_date2num_dst.<locals>.dt_tzaware.astimezonec                 S   s<   i }d}|D ]}t ||d ƒ}|d ur|||< q| di |¤ŽS )N)r¨   r©   rª   rö   ÚminuteÚsecondr³   r«   r   )rÉ  )ÚclsÚdatetime_objÚkwargsÚattrsÚattrÚvalr   r   r   rË  ¸  s   	€z0test_date2num_dst.<locals>.dt_tzaware.mk_tzaware)
rÞ   rß   rà   Ú__doc__rÈ  rÒ  rÔ  ÚclassmethodrË  Ú__classcell__r   r   rÏ  r   Ú
dt_tzaware›  s    rà  c                    s"   ˆ  | ¡‰ ‡ ‡fdd„t|ƒD ƒS )Nc                    s   g | ]}ˆ |ˆ  ‘qS r   r   r·  ©r¿  rµ  r   r   r   Ï  r»  z9test_date2num_dst.<locals>.date_range.<locals>.<listcomp>)rË  r   r´  ©rà  rá  r   r¼  Ì  s   
z%test_date2num_dst.<locals>.date_rangec                    s   ‡ fdd„| D ƒS )Nc                    s   g | ]}|  ˆ ¡‘qS r   )rÔ  )r   Údr  r   r   r   Ó  rä   z9test_date2num_dst.<locals>.tz_convert.<locals>.<listcomp>r   )Údt_listr«   r   r  r   r½  Ò  rÓ  z%test_date2num_dst.<locals>.tz_convert)r	   rÅ  )r¼  r½  r   râ  r   Útest_date2num_dst—  s   1rå  c                    s   ‡ fdd„}t ˆ j|ƒ d S )Nc                     s   ˆ j j| Ž  t¡S rÑ  )ÚDatetimeIndexr½  ÚastypeÚobject)Úargs©Úpdr   r   r½  Ü  rÓ  z,test_date2num_dst_pandas.<locals>.tz_convert)rÅ  r¼  )rë  r½  r   rê  r   Útest_date2num_dst_pandasØ  s   rì  c                 C   s–   |dƒ}| t   dddd¡|ƒ}| t   dddd¡|ƒ}tjtjj|d}| ||¡}t j ddddtj ¡ dt j ddd	d
tj ¡ dg}||ksIJ ‚d S )NzAustralia/Sydneyr   r  r   r   )rµ  r¿  é   r  r   é   )	r	   r1   rž   rŸ   r    ÚDAILYÚbetweenrš  Útzutc)Ú	attach_tzÚget_tzÚSYDr¿  ÚdtendÚruleÚactÚexpr   r   r   Ú_test_rrulewrapperâ  s   ÿrù  c                  C   s   dd„ } t | tjjƒ d S )Nc                 S   s   | j |dS )Nr  )r¡  ©rã   Úzir   r   r   rò  ò  s   z$test_rrulewrapper.<locals>.attach_tz)rù  rŸ   rš  r¯  )rò  r   r   r   Útest_rrulewrapperñ  s   rü  c                  C   s"   t  d¡} dd„ }t|| jƒ d S )NÚpytzc                 S   s
   |  | ¡S rÑ  )Úlocalizerú  r   r   r   rò  ý  s   
z)test_rrulewrapper_pytz.<locals>.attach_tz)r~   Úimportorskiprù  r¢  )rý  rò  r   r   r   Útest_rrulewrapper_pytzø  s   
r   c                     sÎ   t  d¡} |  d¡‰ ‡ fdd„tdƒD ƒ}tjdˆ d}| ¡  |j t 	|d ¡d	 t 	|d
 ¡d	 ¡ t
 g d¢¡}|t 	t
 d¡¡ }t
j ||ƒ ¡ g d¢}ttttj|ƒ ˆ dƒƒ}||kseJ ‚d S )Nrý  zAmerica/New_Yorkc              	      s*   g | ]}ˆ   t d dd¡¡t |¡ ‘qS )rh   r   )rþ  r	   r
   r·  r™  r   r   r     s
    ÿÿz)test_yearlocator_pytz.<locals>.<listcomp>rg   Tr©  r   r   r  )g{ŸªjÀa&Ag{Ÿªjšd&Ag{Ÿªjtg&Ag{ŸªjNj&Ag{Ÿªj*m&Ag{Ÿªjp&Ag{ŸªjÞr&ArD   )z2009-01-01 00:00:00-05:00z2010-01-01 00:00:00-05:00z2011-01-01 00:00:00-05:00z2012-01-01 00:00:00-05:00z2013-01-01 00:00:00-05:00z2014-01-01 00:00:00-05:00z2015-01-01 00:00:00-05:00r™  )r~   rÿ  r¢  r   r1   r  r  r  r  r2   r   r   r@   r$   rH   r¶   r·   r‚   r¸   )rý  r   r¦   rØ   r»   r6  r   r™  r   Útest_yearlocator_pytz  s    


ÿÿr  c                  C   sº   dd„ } t   ddd¡}t jddddddœg d	¢gt jdddd
ddœg d¢gt jddddddœddggf}|D ]!\}}}|| }| ||fi |¤Ž}tttt |ƒ ¡ƒƒ|ksZJ ‚q9d S )Nc                 [   s6   t jdi |¤Ž}| ¡  |j t  | ¡t  |¡¡ |S )Nr   )r1   ÚYearLocatorr  r  r  r2   )r  r  rÙ  r¦   r   r   r   Ú_create_year_locator  s   ÿz.test_YearLocator.<locals>._create_year_locatorrò   r   rí   rî   rW   )r   r©   rª   r&  r^   r¬   )z1980-05-16 00:00:00+00:00z2000-05-16 00:00:00+00:00z2020-05-16 00:00:00+00:00z2040-05-16 00:00:00+00:00z2060-05-16 00:00:00+00:00z2080-05-16 00:00:00+00:00z2100-05-16 00:00:00+00:00z2120-05-16 00:00:00+00:00z2140-05-16 00:00:00+00:00z2160-05-16 00:00:00+00:00z2180-05-16 00:00:00+00:00z2200-05-16 00:00:00+00:00i  r¾   ré   z1980-09-25 00:00:00+00:00z2000-09-25 00:00:00+00:00r"  )r  r¹   r#  r  Ú	argumentsr»   rº   r¦   r   r   r   Útest_YearLocator  s(   

þ
	
þ
	
þî ýr  c                   C   sè   t  t¡ tjdd W d   ƒ n1 sw   Y  t  t¡ tjdd W d   ƒ n1 s1w   Y  t  t¡ tjdd W d   ƒ n1 sLw   Y  t  t¡ tjdd W d   ƒ n1 sgw   Y  tjdd d S )Nr  r—   g      ø¿r   gÍÌÌÌÌÌô?r   )r~   ÚraisesÚ
ValueErrorr1   r…   r   r   r   r   Útest_DayLocatorB  s   ÿÿÿÿr  c                  C   s    t j dddtjd} |  ¡  d S )Ni²  r   r  )r	   r1   r­   Útzname)rã   r   r   r   Útest_tz_utcN  s   r
  z	x, tdeltarS   c                 C   s   t  | ¡}||ksJ ‚d S rÑ  )r1   Únum2timedelta)r   Útdeltarã   r   r   r   Útest_num2timedeltaS  s   
r  c                  C   sN   t  d¡t  d¡g} t | ¡}t  ddg¡t t  d¡¡ }t j ||¡ d S )NrC   z
2001-01-01ç    H&Ag    ìJ&ArD   )r   r@   r1   r2   r   r$   r%   )rã   ÚdnrØ   r   r   r   Útest_datetime64_in_list\  s   
ÿr  c                  C   s  t  d¡} t ¡  t ¡  t t¡ t d¡ W d   ƒ n1 s"w   Y  t ¡  t d¡ | t  d¡  	d¡}| 	d¡}t j
 t | ¡t|ƒ¡ t ¡  t d¡ t j
 t | ¡d¡ t ¡  t d¡ t j
 t | ¡|d	 ¡ t ¡  t d
¡ t j
 t t  d¡¡d¡ d S )NrC   z
0000-01-01z
1970-01-01údatetime64[D]ÚintrD   r  z1970-01-01T01:00:00gUUUUUU¥?ú1970-01-01T00:00:00z1970-01-01T12:00:00g      à?)r   r@   r1   rJ   Ú	get_epochr~   r  ÚRuntimeErrorrK   rç  r$   r%   r2   ÚfloatrH   )Údaterã   r   r   r   Útest_change_epoche  s.   
ý




þr  c                  C   sŒ   t jdddd} tjdd}dg|jd< | ¡  |j t | d	 ¡t | d
 ¡¡ t	j
tdd}|ƒ }W d   ƒ d S 1 s?w   Y  d S )Nz
2001-01-10z
2001-03-04r  r   Frü   r   r   r   r  zAutoDateLocator was unable)Úmatch)r   Úaranger1   r  Ú	intervaldr  r  r  r2   r~   r   r€   )rå   r¦   rŠ   Úlocsr   r   r   Útest_warn_notintervals…  s   ÿ"ÿr  c                  C   s  dt jd< tjdddd} t  ¡ \}}| | t t| ƒ¡¡ |j ¡  | 	¡ d  
¡ dks/J ‚| 	¡ d	  
¡ d
ks;J ‚dt jd< t  ¡ \}}| | t t| ƒ¡¡ |j ¡  | 	¡ d  
¡ dksbJ ‚| 	¡ d	  
¡ dksnJ ‚t t¡ dt jd< W d   ƒ d S 1 s„w   Y  d S )NÚconcisezdate.converterz
2020-01-01ú
2020-05-01r  r   r   rM  r   rN  rw   zJan 01 2020úJan 15 2020Úboo)r    rÏ   r   r  rE   r#   r   rÑ   rÒ   rÓ   rÄ   r~   r  r  ©rå   r+   r,   r   r   r   Útest_change_converter  s    



"ÿr#  c                  C   sà   dt jd< tjdddd} t  ¡ \}}| | t t| ƒ¡¡ |j ¡  | 	¡ d  
¡ dks/J ‚| 	¡ d	  
¡ d
ks;J ‚dt jd< t  ¡ \}}| | t t| ƒ¡¡ |j ¡  | 	¡ d  
¡ dksbJ ‚| 	¡ d	  
¡ dksnJ ‚d S )NFzdate.interval_multiplesz
2020-01-10r  r  r   r   zJan 10 2020r   zJan 24 2020ÚTruer   zFeb 01 2020)r    rÏ   r   r  rE   r#   r   rÑ   rÒ   rÓ   rÄ   r"  r   r   r   Útest_change_interval_multiples¥  s   



r%  c                   C   sš   t  ¡ ? t ¡  t d¡ t d¡dksJ ‚t d¡dks J ‚t ¡  t d¡ t d¡dks2J ‚t d¡dks;J ‚W d   ƒ d S 1 sFw   Y  d S )	NrD   i€Q ç    xò%Aç    zò%Ai £ r  r   r   )Ú_apiÚ'suppress_matplotlib_deprecation_warningr1   rJ   rK   Ú	epoch2numÚ	num2epochr   r   r   r   Útest_epoch2num¸  s   


"÷r,  c                   C   sp   t  ¡  t  d¡ t  d¡dksJ ‚t  d¡dksJ ‚t  ¡  t  d¡ t  d¡dks-J ‚t  d¡dks6J ‚d S )	NrD   g   @ÆžBAr&  r'  g   ÀÆžBAr  r   r   )r1   rJ   rK   Ú
julian2numÚ
num2julianr   r   r   r   Útest_julian2numÅ  s   

r/  )Pr	   Údateutil.tzrŸ   Údateutil.rruler   Únumpyr   r~   Ú
matplotlibr   r   Úmatplotlib.datesrå   r1   Úmatplotlib.pyplotÚpyplotr    Úmatplotlib.testing.decoratorsr   Úmatplotlib.tickerÚtickerrÔ   Úmatplotlib._apir(  r/   ÚmarkÚparametrizer5   r:   rB   rM   rR   rU   rf   rl   rr   ru   rŒ   r’   r§   r²   r¼   r½   rÛ   rì   r
   r   r  r  r%  r-  r4  rl  rt  rv  r}  r  r˜  r¨  r°  r²  rÅ  rå  rì  rù  rü  rý  r   r  r  r  r
  r  r  r  r  r#  r%  r,  r/  r   r   r   r   Ú<module>   s
   ÿÿÿþû	

	






 
ÿ
ÿ
ÿ
ÿù


F
K1ù
	
ÿ
ÿ
ÿ
ÿñ
74)F
A



'
ÿÿÿ
	 