
    Ph                        d dl Z d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZ d dlmZ 	 d dlmZ dZ	 e  G d d      Z G d	 d
      Zd Zy# e$ r dZY $w xY w# e$ r eZY .w xY w)    N)IS_WASMassert_assert_equalassert_raisesassert_warnssuppress_warningsassert_raises_regexassert_array_equal)pickletimezoneTFc                      e Zd Zd Zd Zd Zej                  j                  dg d      d        Z	d Z
ej                  j                  dg d	      d
        Zej                  j                  dg d	      d        Zej                  j                  dg dg dfg dg dfg dg dfg dg dgg dg dgfg      ej                  j                  dg d      d               Zd Zd Zd Zej                  j                  dg d      d        Zd Zd  Zd! Zd" Zd# Zd$ Zd% Zd& Zd' Zd( Zd) Zej                  j                  d*d+d,g      d-        Zej                  j                  d.d/gd0d1g      d2        Zej                  j                  d*d+d,g      ej                  j                  d3d4d5g      d6               Zd7 Z d8 Z!d9 Z"d: Z#d; Z$d< Z%d= Z&d> Z'd? Z(d@ Z)dA Z*dB Z+dC Z,dD Z-ej                  j                  dE e.j^                  dFdG       e.j^                  dHdG      dIf e.j^                  dFdG       e.j^                  dJdG      dKf e.j^                  dLdG       e.j^                  dJdG      dKf e.j^                  dIdM       e.j^                  dNdG      dIf e.j^                  dO       e.j^                  dN      dPf e.j^                  dQdR       e.j^                  dSdT      dIf e.j`                  g dUdVW       e.j`                  dQgdVW       e.j`                  g dXe.jb                  W      fg      dY        Z2ej                  jg                  e4dZ[      ej                  j                  d\ e.j^                  d]d^       e.j^                  d_d^      f e.j^                  d`       e.j^                  dad^      f e.j^                   e.jj                  e.jb                        jl                         e.j^                  db      fg      dc               Z7ej                  j                  dddedfg      dg        Z8ej                  j                  dd e.j^                  dFdR       e.j^                  dhdG      f e.j^                  dFdT       e.j^                  dIdi      fg      dj        Z9ej                  j                  d\ e.j^                  dFdG       e.j^                  dHdG      f e.j^                  dFdG       e.j^                  dJdG      f e.j^                  dLdG       e.j^                  dJdG      f e.j^                  dIdM       e.j^                  dNdG      f e.j^                  dO       e.j^                  dN      f e.j^                  dQdR       e.j^                  dSdT      f e.j`                  g dUdVW       e.j`                  dQgdVW      fg      dk        Z:ej                  jg                  e4dl[      ej                  j                  d\ e.j^                  d]d^       e.j^                  d_d^      f e.j^                  d`       e.j^                  dad^      f e.j^                   e.jj                  e.jb                        jl                         e.j^                  db      fg      dm               Z;dn Z<do Z=dp Z>dq Z?dr Z@ds ZAdt ZBdu ZCdv ZDdw ZEdx ZFdy ZGdz ZHd{ ZId| ZJd} ZKd~ ZLd ZMej                  jg                  eN d[      d        ZOd ZPd ZQd ZRej                  j                  d e.j^                  dFdG       e.j^                  dhdG       e.j^                  dIdG      f e.j^                  dhdG       e.j^                  dKdG       e.j^                  dbdG      f e.j^                  ddG       e.j^                  dQdG       e.j^                  dIdG      f e.j^                  ddG       e.j^                  ddG       e.j^                  ddG      f e.j^                  ddG       e.j^                  ddG       e.j^                  ddG      f e.j^                  dIdM       e.j^                  ddG       e.j^                  dhdG      f e.j^                  dId^       e.j^                  dd       e.j^                  dd      f e.j^                  d`       e.j^                  dad       e.j^                  d`      f e.j^                  dQdR       e.j^                  ddT       e.j^                  dQdT      fg	      d        ZSej                  j                  dd e.j^                  dFdR       e.j^                  dhdG      f e.j^                  dFdT       e.j^                  dIdi      fg      d        ZTej                  jg                  e4dZ[      d        ZUej                  j                  dd e.j^                  dFdR      dfd e.j^                  dIdi      fg      d        ZVd ZWd ZXd ZYd ZZd Z[d Z\d Z]d Z^d Z_d Z`d Zad Zbd Zcej                  j                  dg d      ej                  j                  dg d      d               Zdd Zed Zfej                  j                  dddg      d        Zgej                  j                  dg d      d        Zhej                  j                  ddRdT ej                  dej                  j                  d[            diddMdGdd^dddd ej                  dej                  j                  d[            g      ej                  j                  ddbdIg      d               Zky)TestDateTimec                 &	   dD ]z  }t        j                  d|z        }t        |t        j                  d|z        k(         t        j                  d|z        }t        |t        j                  d|z        k(         | t        t	        t        j                  d            d       t        t        j                  d      t        j                  d             t        t        j                  d	      t        j                  d
             t        t        j                  d      t        j                  d      k(  xs+ t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(  xs+ t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k7         t        t        j                  d      t        j                  d             t        t        j                  d      t        j                  d             t        t        j                  d      t        j                  d      k(  xs+ t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(  xs+ t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k7         t        t        t         j                  d       t        t        t         j                  d       t        t        t         j                  d       t        t        t         j                  d       t        t        t         j                  d       t        t        t         j                  d       t        t        t         j                  d       t        t        t         j                  d        t        t        t         j                  d!       t        t        t         j                  d"       y )#N)YMWDhmsmsus   μsnspsfsasz	M8[750%s]zdatetime64[750%s]zm8[%s]ztimedelta64[%s]M8
datetime64z=M8z=M8[s]M8[s]z>M8z<M8z>M8[D]M8[D]<M8[D]z=m8m8z=m8[s]m8[s]z>m8z<m8z>m8[D]m8[D]z<m8[D]zM8[badunit]zm8[badunit]zM8[YY]zm8[YY]m4M7m7M16m16zM8[3000000000ps])npdtyper   r   strr   	TypeError)selfunitdt1dt2s       iC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/core/tests/test_datetime.pytest_datetime_dtype_creationz)TestDateTime.test_datetime_dtype_creation   s   -D ((;-.CC288$7$$>??@((8d?+CC288$5$<==>- 	S$(,7 	RXXe_bhhtn5RXXh''):;288D>1 2288D>1	3"bhhw&77 8"bhhw&77	9288E?23RXXe_bhhtn5RXXh''):;288D>1 2288D>1	3"bhhw&77 8"bhhw&77	9288E?23 	i=9i=9i84i84i40i40i40i51i51i+=>    c                 D   t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  d	dd             t        t        j                  d	dd              t        t        j                  d
dd              t        t        j                  d
dd              t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd             t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd              t        t        j                  ddd              y )Nr$   r   	same_kindcastingsafei8i4u4u8f4b1M8[M]r"   M8[Y]m8[M]r&   m8[Y]M8[h]m8[h]zM8[7h]zM8[3h]zM8[6h])r   r,   can_castr0   s    r4   test_datetime_casting_rulesz(TestDateTime.test_datetime_casting_rulesE   s   BKKdK@@ABKKdK@@ABKKdF;;<BKKdF;;< 	D$<=D$78D$<=D$78D$<=D$78 	D$<=BKKdF;;< 	BKKdK@@ABKKdF;;< 	BKKdK@@ABKKdF;;< 	BKKdK@@ABKKdF;;<D$<=D$78 	GWf=>GWf=>BKK&AABBKK&AABGWkBCGWkBCBKK+FFGBKK+FFGGWkBCGWkBCGWkBC 	BKK(FCCDBKK(FCCDHhDEHh?@ 	D';?@D'6:;D';?@D'6:;BKK{CCDBKKv>>?BKK{CCDBKKv>>?r6   c                     g d}g d}t        ||      D ]9  \  }}t        j                  ||d      sJ t        j                  ||d      r9J  y )N)z
M8[7000ms]z
M8[2000us]z
M8[1000ns]z
M8[5000ns]z
M8[2000ps]z
M8[9000fs]z
M8[1000as]zM8[2000000ps]zM8[1000000as]zM8[2000000000ps]zM8[1000000000as])zM8[7s]M8[2ms]M8[us]zM8[5us]zM8[2ns]zM8[9ps]zM8[1fs]zM8[2us]zM8[1ps]rL   zM8[1ns]r;   r9   )zipr,   rH   )r0   smaller_unitslarger_unitslarger_unitsmaller_units        r4    test_datetime_prefix_conversionsz-TestDateTime.test_datetime_prefix_conversions   sU    
-
# *-\=)I%K;;{L&III;;|[&III *Jr6   r1   )r   r   r   r   r   r   r   c                     t        t              5  t        j                  dgd| d       d d d        y # 1 sw Y   y xY w)N   zM8[-1]r-   )r   r/   r,   arrayr0   r1   s     r4   test_prohibit_negative_datetimez,TestDateTime.test_prohibit_negative_datetime   s0     9%HHaS%vQ0 &%%s   6?c                 l   t        t        j                  d      t        j                  d      t        j                  d      z   k7         t        t        j                  d      t        j                  dd      k7         t        t        j                  dd      t        j                  d      k7         y )NNaT2000r   )r   r,   r    timedelta64rI   s    r4   test_compare_generic_natz%TestDateTime.test_compare_generic_nat   sv    e$f%u(==> 	?e$eT(BBCeT*bmmE.BBCr6   size)           c                     t        j                  |      }t        j                  t        j                  d      |      }t	        t        j
                  |d      |       y Nr\   	mergesort)kind)r,   arangetiler    r   argsortr0   r`   expectedarrs       r4   #test_datetime_nat_argsort_stabilityz0TestDateTime.test_datetime_nat_argsort_stability   s?    
 99T?ggbmmE*D1RZZ+6Ar6   c                     t        j                  |      }t        j                  t        j                  d      |      }t	        t        j
                  |d      |       y rf   )r,   ri   rj   r^   r   rk   rl   s       r4   $test_timedelta_nat_argsort_stabilityz1TestDateTime.test_timedelta_nat_argsort_stability   s?    
 99T?ggbnnU+T2RZZ+6Ar6   zarr, expected)r\   rU      ra   )rU   rr   ra   r\   )r\   	   r\   =)rt   rs   r\   r\   )rU   ra   r\   )ru   rU   ra   r\   )3   $r\   )r\   )rw   rv   r\   )ry   rx   r\   r-   )M8[ns]rM   m8[ns]zm8[us]c                     t        j                  ||      }t        j                  ||      }|j                          t        ||       y )NrW   )r,   rX   sortr   )r0   rn   rm   r-   s       r4    test_datetime_timedelta_sort_natz-TestDateTime.test_datetime_timedelta_sort_nat   s7    * hhs%(88HE2
S(#r6   c                    t        t        j                  dd      t        j                  d             t        t        j                  dd      t        j                  dd             t        t        j                         t        j                  d             t        t        t        j                  d            d       t        t	        t        j                  d            d       t        t        t        j                  d            d       t        t	        t        j                  d            d	       t        t        j                  d       t        j                  d             t        t        j                         j
                  t        j
                  d
             t        t        j                  d      j
                  t        j
                  d
             t        t        t        j                  d       t        j                  dd      }t        j                  dd      }t        |j
                  t        j
                  d             t        |j
                  t        j
                  d             t        t        j                  |      |       t        t        j                  |      j
                  t        j
                  d             t        t        j                  |      |       t        t        j                  |      j
                  t        j
                  d             t        t        j                  |d      |       t        t        j                  |d      j
                  t        j
                  d             t        t        j                  |d      |       t        t        j                  |d      j
                  t        j
                  d             t        t        j                  d      t        j                  t        j                  ddd                   t        t        j                  dd      t        j                  t        j                  ddd      d             t        t        j                  d      t        j                  t        j                  ddddddd                   t        t        j                  dd      t        j                  d             t        t        j                  d d      t        j                  d!             t        t        j                  d"d      t        j                  d#             t        t        j                  t        j                  ddd      d$      t        j                  d%             t        t        j                  d&d      t        j                  d             t        t        j                  d'd(      t        j                  d              t        t        j                  d)d*      t        j                  d"             y )+Nz
1950-03-12r   z1950-03-12T13r   r   r\   znumpy.datetime64('NaT')z2011-02znumpy.datetime64('2011-02')r      z2000-03-18T16r   rF   rW   r!   z
1945-03-25i  ra      z
2045-03-25i  z1980-01-25T14:36:22.5i  rU      $      i  z
1920-03-13z1920-03-13T00z1920-03z1920-03-01T00:001920z1920-01-01T00:00:00r   z2045-03-25T00:00:00.000z1920-03-13T18z1920-03-13T18:33:12r   z1920-03-13T18:33:12.5r   )r   r,   r    r.   reprr-   r   
ValueErrorrX   datetimedater0   abs      r4   !test_datetime_scalar_constructionz.TestDateTime.test_datetime_scalar_construction   s   R]]<5]]<0	2R]]?C8]]?C8	: 	R]]_bmmE&:; 	Su-.6T"--./.	0Sy12I>T"--	232	4 	R]]4("--*>? 	R]]_**BHHTN;R]]5)//$@ 	j"--4 MM/3/HH_G4QWWbhhw/0QWWbhhw/0R]]1%q)R]]1%++RXXg->?R]]1%q)R]]1%++RXXg->?R]]1c*A.R]]1c*00"((72CDR]]1c*A.R]]1c*00"((72CD 	R]]<0]]8==q"#=>	@R]]<5]]8==q"#=sC	E 	R]]#:;]]8#4#4T1b02BF$D E	F
 	R]]<5]]?3	5R]]9c2]]#56	8R]]63/]]#89	;R]]8==q"#=tD]]#<=	? 	R]]?C8]]<0	2R]]#8#>]]9-	/R]]#:C@]]6*	,r6   c                 \   t        t              5  t        t        j                  d      t        j                  d             d d d        t        t              5  t        t        j                  d      t        j                  d             d d d        y # 1 sw Y   TxY w# 1 sw Y   y xY w)Nz2000-01-01T00Zz2000-01-01T00z2000-01-01T00-08z2000-01-01T08)r   DeprecationWarningr   r,   r    rI   s    r4   *test_datetime_scalar_construction_timezonez7TestDateTime.test_datetime_scalar_construction_timezone1  su    ,-'7879 . ,-'9:79 .- .- .-s   3B3B"B"B+c                    t        j                  dd      }t        j                  |g      }t        |j                  t        j                  d             t        j                  ddd      }t        j                  |g      }t        |j                  t        j                  d             t        j
                  dddddd	      }t        j                  |g      }t        |j                  t        j                  d             t        j                  d
      }t        j                  dd      }t        j                  ddd      }t        j
                  dddddd	      }t        j                  ||g      }t        |j                  t        j                  d             t        j                  ||g      }t        |j                  t        j                  d             t        j                  ||g      }t        |j                  t        j                  d             t        j                  ||g      j                  d      }t        |j                  t        j                  d             t        j                  ||g      j                  d      }t        |j                  t        j                  d             y )N
1970-01-01r   rB   i  rU   O      (   Tr    r"   rM   )	r,   r    rX   r   r-   r   r   bool_astype)r0   dtrn   r   dmds         r4   test_datetime_array_find_typez*TestDateTime.test_datetime_array_find_type:  s   ]]<-hhtnSYY 12 ]]4A&hhtnSYY.tQ2r26hhtnSYY. HHTN]]<-MM$1%tQ2r26hh2wSYY.hh1vSYY.hh2wSYY.hh1v%%l3SYY 12hhBx ''5SYY 23r6   )r   r   r   r   r   r   r   r   r   r   r   r   r   genericc                 (   |dk7  rHt        t        j                  t        j                  d      |      t        j                  d|             y t        t        j                  t        j                  d            t        j                  d             y )Nr   {   )r   r,   r^   int64rY   s     r4   "test_timedelta_np_int_constructionz/TestDateTime.test_timedelta_np_int_construction_  s`     9t<T24 6,.r6   c                    t        t        j                  dd      t        j                  dd             t        t        j                  dd      t        j                  dd             t        t        j                         t        j                  d	             t        t        j                  d       t        j                  d
             t        t        t        j                  d
            d
       t        t	        t        j                  d
            d       t        t        t        j                  dd            d       t        t	        t        j                  dd            d       t        t	        t        j                  d            d       t        t        j                  d      j
                  t        j
                  d             t        j                  dd      }t        j                  dd      }t        |j
                  t        j
                  d             t        |j
                  t        j
                  d             t        t        j                  |      |       t        t        j                  |      j
                  t        j
                  d             t        t        j                  |      |       t        t        j                  |      j
                  t        j
                  d             t        t        j                  |d      |       t        t        j                  |d      j
                  t        j
                  d             t        t        j                  |d      |       t        t        j                  |d      j
                  t        j
                  d             t        t        j                  dd      t        j                  t        j                  d                   t        t        j                  dd      t        j                  t        j                  d                   t        t        j                  dd      t        j                  t        j                  d                   t        t        j                  dd      t        j                  t        j                  d                   t        t        j                  dd       t        j                  t        j                  d!                   t        t        j                  d"d      t        j                  t        j                  d"#                   t        t        j                  d$d      t        j                  t        j                  d$%                   t        t        j                  d&d      t        j                  t        j                  d&'                   t        j                  dd      }t        t        t        j                  |d(       t        t        t        j                  |d)       t        j                  d*d(      }t        t        t        j                  |d       t        t        t        j                  |d       t        j                  dd)      }t        t        t        j                  |d       t        t        t        j                  |d       t        j                  d      }t        t        t        j                  |d(       t        t        t        j                  |d)       t        j                  d'      }t        t        t        j                  |d(       t        t        t        j                  |d)       t        j                         }t        t        t        j                  |d(       t        t        t        j                  |d)       y )+N   r   rU   r   x   r   rr   r   r   r\   znumpy.timedelta64('NaT')ra   z	3 secondsznumpy.timedelta64(-3,'s')r   znumpy.timedelta64(12)r$   r   rG   rW   r%      )daysiesecondsl@D	 r   )microsecondsl   @D	 i r   )milliseconds
   )minutesi  )hours   )weeksr   r      )r   r,   r^   r.   r   r-   rX   r   	timedeltar   r/   r   s      r4   "test_timedelta_scalar_constructionz/TestDateTime.test_timedelta_scalar_constructionn  s   R^^As+^^As+	-R^^C-^^As+	- 	R^^%r~~a'89 	R^^D)2>>%+@A 	S./7T"../0/	1S3/0+>T"..S120	2T"..,-,	. 	R^^B'--rxx~> NN1c"HHQg&QWWbhhw/0QWWbhhw/0R^^A&*R^^A&,,bhhw.?@R^^A&*R^^A&,,bhhw.?@R^^As+Q/R^^As+11288G3DER^^As+Q/R^^As+11288G3DE 	R^^As+^^H$6$6A$>?	AR^^Is3^^H$6$6y$IJ	LR^^L$7^^H$6$69E%G H	I 	R^^K6^^H$6$69D%F G	H 	R^^GT2^^H$6$6G$LM	OR^^B,^^H$6$6r$BC	ER^^C-^^H$6$6S$AB	DR^^B,^^H$6$6R$@A	C NN1c"iC8iC8NN1c"iC8iC8NN1c"iC8iC8q)iC8iC8Q'iC8iC8 iC8iC8r6   c                     t        j                  d      t        j                  d      t        j                  d      g}t        j                  g dd      }t        j                  |d      }t	        ||       y )Nr   r      )r   r   r   ztimedelta64[D]rW   )r   r   r,   rX   r   )r0   inputsrm   actuals       r4   &test_timedelta_object_array_conversionz3TestDateTime.test_timedelta_object_array_conversion  sa    $$R($$R($$R(* 88L0@A&(89Xv&r6   c                    t        j                  t        j                  d            }|j	                  t         j
                        }t        j                  t        j                  d      t         j
                        }t        ||       y )N   r   )r,   rX   r   r   r   r^   r   )r0   testr   rm   s       r4   ,test_timedelta_0_dim_object_array_conversionz9TestDateTime.test_timedelta_0_dim_object_array_conversion  s[    xx**267R^^, 88H..r:NN,VX&r6   c                 `    t        ddj                  t        j                  d                   y )Nr\   z{0}nat)r   formatr,   r^   rI   s    r4   test_timedelta_nat_formatz&TestDateTime.test_timedelta_nat_format  s    UELL)>?@r6   c                 ~   t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d	      j                  t        j                  d
             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d      j                  t        j                  d             t        t        j                  d       j                  t        j                  d             t        t        j                  d!      j                  t        j                  d"             t        t        j                  d#      j                  t        j                  d"             t        t        j                  d$      j                  t        j                  d"             t        t        j                  t	        j
                  d%d&d'            j                  t        j                  d             t        t        j                  t	        j                  d%d&d'd(d)d*            j                  t        j                  d             t        t        j                  d+      j                  t        j                  d             t        t        j                  d,      j                  t        j                  d             y )-N2010rC   z2010-03rB   z
2010-03-12r"   z2010-03-12T17rF   z2010-03-12T17:15zM8[m]z2010-03-12T17:15:08r!   z2010-03-12T17:15:08.1M8[ms]z2010-03-12T17:15:08.12z2010-03-12T17:15:08.123z2010-03-12T17:15:08.1234rM   z2010-03-12T17:15:08.12345z2010-03-12T17:15:08.123456z1970-01-01T00:00:02.1234567rz   z1970-01-01T00:00:02.12345678z1970-01-01T00:00:02.123456789z1970-01-01T00:00:02.1234567890M8[ps]z1970-01-01T00:00:02.12345678901z 1970-01-01T00:00:02.123456789012z!1970-01-01T00:00:02.1234567890123zM8[fs]z"1970-01-01T00:00:02.12345678901234z#1970-01-01T00:00:02.123456789012345z$1970-01-01T00:00:02.1234567890123456M8[as]z%1970-01-01T00:00:02.12345678901234567z&1970-01-01T00:00:02.123456789012345678i           -      todaynow)r   r,   r    r-   r   r   rI   s    r4   (test_timedelta_scalar_construction_unitsz5TestDateTime.test_timedelta_scalar_construction_units  si   R]]6*00XXg&	(R]]9-33XXg&	(R]]<066XXg&	(R]]?399XXg&	(R]]#56<<XXg&	(R]]#89??XXg&	( 	R]]#:;AAXXh'	)R]]#;<BBXXh'	)R]]#<=CCXXh'	) 	R]]#=>DDXXh'	)R]]#>?EEXXh'	)R]]#?@FFXXh'	) 	R]]#@AGGXXh'	)R]]#ABHHXXh'	)R]]#BCIIXXh'	) 	R]]#CDJJXXh'	)R]]#DEKKXXh'	)R]]#EFLLXXh'	) 	R]]8::?%XXh'	) 	R]]9;;@5XXh'	) 	R]]:<<AEXXh'	) 	R]]:<<AEXXh'	) 	R]];==BUXXh'	) 	R]]<>>CeXXh'	)
 	R]]8==q"#=>DDXXg&	( 	R]] ))$2r2rBDDIEXXh'	)
 	R]]7+11XXg&	( 	R]]5)//XXg&	(r6   c                 ~
   t        j                  dd      }t        j                  dd      }t        |j	                  d      t        j                  dd             t        |j	                  d      t        j                  dd             t        |j	                  d      t        j                  dd             t        |j	                  d      t        j                  dd             t        |j	                  d	      t        j                  dd	             t        t        j                  |d
      t        j                  dd
             t        t        j                  |d      t        j                  dd             t        t        j                  |d      t        j                  dd             t        t        j                  |d      t        j                  dd             t        t        j                  |d      t        j                  dd             t        t        j                  |d
      t        j                  dd
             t        t        j                  |d      t        j                  dd             t        t        j                  |d      t        j                  dd             t        t        j                  |d      t        j                  dd             t        t        j                  |d      t        j                  dd             t        j                  t         j
                  gdz        }|j	                  d      }|j	                  d      }|j	                  d      }|j	                  d      }|j	                  d      }t        j                  t        j                  d      gdz        }	t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       t        j                  t        j                  d      gdz        }	t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       t        |j	                  d      |	       y )Nr\   r"   rW   [D]r!   r   rB   rC   M8[W]z[s]z[ms]z[M]z[Y]z[W]   fgr   FGrz   ztimedelta64[ns])r,   rX   r    r   r   nanr^   )
r0   r   r   r   fnanlnancnancfnanclnanr   s
             r4   test_datetime_nat_castingz&TestDateTime.test_datetime_nat_casting+  s   HHU'*MM%' 	QXXg&g(FGQXXh'%x)HIQXXg&g(FGQXXg&g(FGQXXg&g(FG 	R]]1e,bmmE5.IJR]]1f-r}}UF/KLR]]1e,bmmE5.IJR]]1e,bmmE5.IJR]]1e,bmmE5.IJ 	R]]1e,bmmE5.IJR]]1f-r}}UF/KLR]]1e,bmmE5.IJR]]1e,bmmE5.IJR]]1e,bmmE5.IJ hhx!|$zz#zz#zz#

3

3hhe,-12SZZ)3/T[[*C0T[[*C0T[[*C0U\\(+S1U\\(+S1hhu-.23SZZ 12C8T[[!23S9T[[!23S9T[[!23S9U\\"34c:U\\"34c:r6   c                 D   t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d	       t        t        j                  d
d      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  dd      j                  d      d       t        t        j                  d d      j                  d      d!       t        t        j                  d"d      j                  d      d#       t        t        j                  d$d      j                  d      d%       t        t        j                  d&d      j                  d      d'       t        t        j                  d(d      j                  d      d)       t        t        j                  d*d      j                  d      d+       t        t        j                  d,d      j                  d      d-       t        t        j                  d.d      j                  d      d/       y )0N1599r"   rW   r<   g     1600g      1601g    s 1900i!1901i1967i1968i%1969i1970r   1971im  1972i  1973iH  1974i  r]   i*  2001i;,  2400i~e 2401if 
1600-02-29iW
1600-03-01iXz
2000-02-29i+  z
2000-03-01i	+  
2001-03-22i,  r   r,   rX   r   rI   s    r4   test_days_creationzTestDateTime.test_days_creation\  s   RXXfG4;;DA9	;RXXfG4;;DA3	5RXXfG4;;DA9	;RXXfG4;;DA0	2RXXfG4;;DA6	8RXXfG4;;DA:NRXXfG4;;DA:NRXXfG4;;DA6JRXXfG4;;DA5IRXXfG4;;DA5IRXXfG4;;DA5IRXXfG4;;DA9MRXXfG4;;DA9MRXXfG4;;DA5	7RXXfG4;;DA;	=RXXfG4;;DA9	;RXXfG4;;DA?	A 	RXXl':AA$G>	@RXXl':AA$G>	@RXXl':AA$G?	ARXXl':AA$G?	ARXXl':AA$GJ	Lr6   c                 h   t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  d	d      j                  d      t	        j
                  d
dd             t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  dd      j                  d      t	        j
                  ddd             t        t        j                  dd      j                  d      t	        j
                  ddd             y )Nr   r"   rW   r   i?  rU   r   i@  r   iA  r   il  r   im  r]     r   i  r   rr      r   ra   r   r   )r   r,   rX   r   r   r   rI   s    r4   test_days_to_pydatez TestDateTime.test_days_to_pydate  s   RXXfG4;;C@MM$1-	/RXXfG4;;C@MM$1-	/RXXfG4;;C@MM$1-	/RXXfG4;;C@MM$1-	/RXXfG4;;C@MM$1-	/RXXfG4;;C@MM$1-	/RXXfG4;;C@MM$1-	/RXXl':AA#FMM$2.	0RXXl':AA#FMM$1-	/RXXl':AA#FMM$2.	0r6   c                    t        t        j                  d      t        j                  d      k(          t        t        j                  d      t        j                  d      k7         t        t        j                  d      t        j                  d      k7         t        t        j                  d      t        j                  d      k7         y )NrM   r   M8[2D]r"   r   r,   r-   rI   s    r4   test_dtype_comparisonz"TestDateTime.test_dtype_comparison  s    RXXh'288H+==>?"bhhx&889"bhhw&778!RXXh%778r6   c           	         t        j                  dt        j                  ddd      gd      }t	        |d   |d          t        j                  d	t        j                  d
dd      gd      }t	        |d   |d          t        j                  dt        j                  ddd      gd      }t	        |d   |d          t        j                  dt        j                  j                         gd      }t	        |d   |d          t	        t        j                  t        j                  ddd      d      t        j                  t        j                  d                   y )Nz
1960-03-12i  ra   r   r"   rW   r   rU   z
1999-12-31i  r   
2000-01-01r   r   r!   z1960-03-12T00:00:00)r,   rX   r   r   r   r   r    r0   r   s     r4   test_pydatetime_creationz%TestDateTime.test_pydatetime_creation  s   HHlHMM$2$>?wOQqT1Q4 HHlHMM$B$?@PQqT1Q4 HHlHMM$1$=>gNQqT1Q4 HHgx}}2245WEQqT1Q4  	RXXhmmD!R8HXXbmm,ABC	Er6   c                 4   g d}t        j                  |d      }t        j                  |d      }t        j                  |d      }t        ||j                  d             t        |j                  |j                  d      j                         t        j
                  |      }||d<   t        ||       t        ||j                  d             t        j
                  |      }||d<   t        ||       t        ||j                  d             t        |j                  |j                  d      j                         t        j
                  |      }||d<   t        ||       t        ||j                  d             t        j
                  |      }||d<   t        ||       t        ||j                  t         j                  df             t        j                  |j                  t         j                  df      }||d<   t        ||       y )	Nz
2011-03-16z
1920-01-01z
2013-05-19SrW   Ur   .S0   )	r,   rX   r   r   r-   
empty_likebytes_emptyshape)r0   r   str_auni_adt_adt_bstr_buni_bs           r4   test_datetime_string_conversionz,TestDateTime.test_datetime_string_conversion  s   6#&#&xx% 	T5<<,-TZZc!2!8!89}}T"S	T4  	UDKK-.e$c
UE" 	T5<<,-TZZc!2!8!89}}T"S	T4  	UDKK,-e$c
UE" 	UDKKC(89:RYY,<=c
UE"r6   
time_dtyper&   rC   c                 L   t        j                  ddg|      }|j                  |j                  j	                               }t        ||       |j                  t         j                        j	                         }t        ||j                  t         j                               y N2017r\   rW   )r,   rX   r   r-   newbyteorderr
   viewr   )r0   r  timestimes_swapped	unswappeds        r4   test_time_byteswappingz#TestDateTime.test_time_byteswapping  so    &%
;U[[%=%=%?@5-0!&&rxx0==?	9ejj&:;r6   time1time2)r!   r"   )r%   r{   c                    t        j                  |      }t        j                  |      }t        j                  ddg|      }|j                  |      }|j                  |j	                               j                  |      }t        ||       |j                  |j	                               }t        ||       |j                  |j	                               j                  |j	                               }t        ||       y r  )r,   r-   rX   r   r  r
   )r0   r  r  dtype1dtype2r  rm   ress           r4   test_time_byteswapped_castz'TestDateTime.test_time_byteswapped_cast  s     %%&%7<<' ll6..0188@3)ll6..013)ll6..01889L9L9NO3)r6   	str_dtyper  r  c                 J   t        j                  ddg|      }t        j                  ddg|      }|j                  |      }|j                  |j                  j	                               }|j                  |      }t        ||       |j                  |j                  j	                               }t        ||       |j                  |j                  j	                               }t        ||       |j                  |j                  j	                               }|j                  |      }t        ||       |j                  |j                  j	                               }t        ||       |j                  |j                  j	                               }t        ||       y r  )r,   rX   r   r-   r  r
   )	r0   r!  r  r  from_strings
to_stringsr  r  from_strings_swappeds	            r4   $test_datetime_conversions_byteordersz1TestDateTime.test_datetime_conversions_byteorders  sN    &%
;xxyA\\),
 U[[%=%=%?@""9-3
+"":#3#3#@#@#BC3
+ll:++88:;3
+  ,22""//1 3"))*53&"))%++*B*B*DE3&!!%++":":"<=3&r6   c                 R   t        j                  g dd      }t        t        |      d       t        j                  ddgd      }t        t        j                  |ddd	 i
      d       t        j                  g d      j                  d      }t        t        |      d       y )Nr   r   rW   z(['2011-03-16' '1920-01-01' '2013-05-19']z2011-03-16T13:55z1920-01-01T03:12z, r   c                 6    dt        j                  | d      z  S )Nz'%s'UTCr   )r,   datetime_as_string)xs    r4   <lambda>z6TestDateTime.test_datetime_array_str.<locals>.<lambda>  s    "R%:%:1u%MMr6   )	separator	formatterz*['2011-03-16T13:55Z', '1920-01-01T03:12Z'])r   r\   2030z['2010'  'NaT' '2030'])r,   rX   r   r.   array2stringr   r   s     r4   test_datetime_array_strz$TestDateTime.test_datetime_array_str  s    HH?sKSVGHHH(*<=SIR__Q$) ,N OP B	C HH,-44S9SV56r6   c                 ,   t        j                  g dd      }t        t        |      d       t        j                  ddgd      }t        t        |      d       t        j                  g dd      }t        t        |      d       t        j                  g d	d      }t        t        |      d
       t        j                  g d	d      }t        t        |      d
       t        j                  g d	d      }t        t        |      d
       y )N)r   d   r   rW   z[ -1   0 100]r\   z['NaT' 'NaT'])r3  r\   r   z[   -1 'NaT'     0])r3  r\   i z[     -1   'NaT' 1234567]z>mz<m)r,   rX   r   r.   r   s     r4   test_timedelta_array_strz%TestDateTime.test_timedelta_array_str  s    HH\-SV_-HHeU^3/SV_-HH^3/SV23HH)5SV89 HH)6SV89HH)6SV89r6   c           	         t        dt        j                  dz         D ]*  }t        j                  d      }t        t        j                  t        j                  ||            |       t        j                  d      }t        t        j                  t        j                  ||            |       t        j                  d      }t        t        j                  t        j                  ||            |       |t        j                  d      z
  }t        t        j                  t        j                  ||            |       - d}t        t        j                  |      t        j                  d	             d
}t        t        j                  |      t        j                  d             d}t        t        j                  |      t        j                  d             y )Nrr   rU   zM8[7D])protocolr   z2016-01-01T00:00:00.000000000z2015-01-01T00:00:00.000000000sh   cnumpy
dtype
p0
(S'M8'
p1
I0
I1
tp2
Rp3
(I4
S'<'
p4
NNNI-1
I-1
I0
((dp5
(S'D'
p6
I7
I1
I1
tp7
tp8
tp9
b.z<M8[7D]sh   cnumpy
dtype
p0
(S'M8'
p1
I0
I1
tp2
Rp3
(I4
S'<'
p4
NNNI-1
I-1
I0
((dp5
(S'W'
p6
I1
I1
I1
tp7
tp8
tp9
b.z<M8[W]si   cnumpy
dtype
p0
(S'M8'
p1
I0
I1
tp2
Rp3
(I4
S'>'
p4
NNNI-1
I-1
I0
((dp5
(S'us'
p6
I1
I1
I1
tp7
tp8
tp9
b.>M8[us])	ranger   HIGHEST_PROTOCOLr,   r-   r   loadsdumpsr    )r0   protor   scalardeltapkls         r4   test_picklezTestDateTime.test_pickle/  sJ   1f559:E(#Bfll2&FGL'"Bfll2&FGL]]#BCFfll6E&JK!R]]+JKKEfll55&IJ  ;/ 	V\\#&(;</ 	V\\#&(:;/ 	V\\#&(;<r6   c                    t        j                  d      }t        t        |j                  d       t        |j                         d   t        j                  d      j                         d   k(         t        t        |j                  ddddddddi d	ff	       t        |j                         d   t        j                  d      j                         d   k(         y)
z@Verify that datetime dtype __setstate__ can handle bad argumentsr8  )	r   >NNNr3  r3  r   rU   rr   r   rC  Nr3  r   xxx)r,   r-   r   r   __setstate__r   
__reduce__r/   r0   r   s     r4   test_setstatezTestDateTime.test_setstateK  s    XXi j"//3[\"bhhy&9&D&D&Fq&IIJi1c4tRQSUVY[]bXc2de"bhhy&9&D&D&Fq&IIJr6   c           
         dD ]O  }t        t        j                  t        j                  |dz         t        j                  |dz               t        j                  |dz                t        t        j                  t        j                  |dz         t        j                  |dz               t        j                  |dz                t        t        j                  t        j                  |dz         t        j                  |dz               t        j                  |dz                t        t        j                  t        j                  |d	z         t        j                  |d
z               t        j                  |dz                t        t        j                  t        j                  |dz         t        j                  |dz               t        j                  |dz                t        t        j                  t        j                  |dz         t        j                  |dz               t        j                  |dz                R t	        t
        t        j                  t        j                  d      t        j                  d             t	        t
        t        j                  t        j                  d      t        j                  d             t	        t
        t        j                  dd       t	        t
        t        j                  dd       t	        t
        t        j                  dd       t	        t
        t        j                  dd       t	        t        t        j                  t        j                  d      t        j                  d             t	        t        t        j                  t        j                  d      t        j                  d             y )N)r   r   z8[2Y]z8[12Y]z8[15Y]z8[3Y]z8[62M]z8[24M]z8[2M]z8[1W]z8[2D]z8[1D]z8[W]z8[13s]z8[s]z8[13W]z8[49s]z8[7s]rE   r&   rD   zm8[W]float32r$   uint64zm8[fs]r%   zm8[as])r   r,   promote_typesr-   r   r/   OverflowError)r0   mMs     r4   test_dtype_promotionz!TestDateTime.test_dtype_promotionS  s    B  "W*!5rxx7
7KLG$&   "X+!6H8MNG$&   "X+!6H8MNG$&   "W*!5rxx7
7KLG$&   "V)!4bhhr({6KLF#%   "X+!6H8MNG$&! ( 	i!1!1HHW-rxx/@	Bi!1!1HHW-rxx/@	B 	i!1!19dCi!1!14Ci!1!18TBi!1!14B 	mR%5%5HHW-rxx/A	CmR%5%5HHW-rxx/A	Cr6   c                 P    d }t        t        |       d }t        t        |       y )Nc                  L    t        j                  d      j                  d       y )Nz#1971-01-01 00:00:00.000000000000000r#   numpyr    r    r6   r4   castz-TestDateTime.test_cast_overflow.<locals>.cast|  s    BCJJ8Tr6   c                  L    t        j                  d      j                  d       y )N2014z<M8[fs]rR  rT  r6   r4   cast2z.TestDateTime.test_cast_overflow.<locals>.cast2  s    V$++I6r6   )r   rM  )r0   rU  rX  s      r4   test_cast_overflowzTestDateTime.test_cast_overflowz  s!    	UmT*	7mU+r6   c                 j   t        j                  g dt         j                        }dD ]  }|j                         j	                  |      }d|d<   d|d<   d|d	<   d
|d<   d|d<   d|d<   d|d<   d|d<   d|d<   t        |j                  t              j                  |      |d|z          dD ]  }|j                         j	                  |      }d|d<   d|d<   d|d	<   d|d<   d|d<   d|d<   d|d<   d|d<   d|d<   t        |j                  t              j                  |      |d|z          y ) N)r   r   r   r   r   r   r   r   r   ilk3iBr3  r   rU   i=iyGrW   )r"   r   rB   rC   z-0001-01-01r   z-0001-12-31rU   z
0000-01-01rr   z
0001-01-01ra   z
1969-12-31r   r   r   z
9999-12-31r   10000-01-01r   r\   r   zError roundtripping unit %s)r   zM8[16fs]r   rM   z	M8[300as]zM8[20us]z-0001-01-01T00z-0001-12-31T00z0000-01-01T00z0001-01-01T00z1969-12-31T23:59:59.999999z1970-01-01T00z9999-12-31T23:59:59.99999910000-01-01T00)r,   rX   r   copyr  r   r   object)r0   r   r1   r   s       r4   test_pyobject_roundtripz$TestDateTime.test_pyobject_roundtrip  sV   HH N>@hhH 9DD)A AaD AaDAaDAaDAaDAaDAaD AaDAaD&)0069D@B 9.DD)A#AaD#AaD"AaD"AaD/AaD"AaD/AaD#AaDAaD&)0069D@B.r6   c                    t        t        j                  dd      t        j                  dd             t        t        j                  dd      t        j                  dd      j                  d             t        t        j                  dd      t        j                  d	d      j                  d             t        t        j                  d
d      t        j                  dd      j                  d             t        t        j                  dd      t        j                  dd      j                  d             y )Nz
1945-03-01rB   rW   z
1945-03-31z
1969-11-01z1969-11-30T23:59:59.99999r   z
1969-12-01z1969-12-31T23:59:59.99999r   z1970-01-31T23:59:59.99999z
1980-02-01z1980-02-29T23:59:59.99999r   rI   s    r4   test_month_truncationz"TestDateTime.test_month_truncation  s    RXXl':XXl':	<RXXl':XX1=DDWM	ORXXl':XX1=DDWM	ORXXl':XX1=DDWM	ORXXl':XX1=DDWM	Or6   c                 
   dD ]  }t        j                  d|z        }dD ]  }t        j                  d|z        }t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|               d	D ]  }t        j                  d|z        }d
D ]  }t        j                  d|z        }t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|             t        t        j                  d|      t        j                  d|               dD ]  }t        j                  d|z        }dD ]  }t        j                  d|z        }t        t        j                  t        j                  dd      j                  |      t        j                  dd      j                  |      d             t        t        j                  t        j                  dd      j                  |      t        j                  dd      j                  |      d               t        j                  dd      }t        j                  dd      }t        t        t         j                  ||       t        t        t         j                  ||d       y )N)r   r   r   zM8[%s]1945rW   r   999910000r[  )6hr   r   r   10msr   r   )r   r   r   r   r   z1945-03-12T18z1970-03-12T18z9999-03-12T18r\  )r   12hr   r   r   4sr   r   )r   r   r   r   r   r   z
1932-02-17r   z1932-02-17T00:00:00unsafer9   z10000-04-27z10000-04-27T00:00:00
2012-12-21r"   ra   r&   )r,   r-   r   rX   r    r   equalr   r   r/   less)r0   unit1r2   unit2r3   r   r   s          r4   test_different_unit_comparisonz+TestDateTime.test_different_unit_comparison  s   $E((8e+,C(hhx%/0RXXfC8XXfC8:RXXfC8XXfC8:RXXfC8XXfC8:RXXgS9XXm3?AR]]659]]659;R]]659]]659;R]]659]]659;R]]7E:]]=%@B! ) %* ?E((8e+,C4hhx%/0RXXoSAXXoSACRXXoSAXXoSACRXXoSAXXoSACRXX&6cBXX&6cBDR]]?EB]]?EBDR]]?EB]]?EBDR]]?EB]]?EBDR]]+;UC]]+;UCE! 5 ?* CE((8e+,C9hhx%/0,c!B!I!I#!NXX33?FFsK%' ( -s!C!J!J3!OXX4C@GGL%' ( : C HH\1HHQg&i!Q/i!QAr6   c                    t        j                  dgd      }t        j                  dgd      }t        t        j                  |      j                  |j                         t        t        j
                  |      j                  |j                         t        t        j                  |      j                  |j                         t        t        j                  |      j                  |j                         t        t        j
                  |      j                  |j                         t        t        j                  |      j                  |j                         y )Nra   zm8[4D]rW   rk  r"   )r,   rX   r   	ones_liker-   
zeros_liker  r   s      r4   test_datetime_likezTestDateTime.test_datetime_like  s    HHaS)HHl^73R\\!_**AGG4R]]1%++QWW5R]]1%++QWW5R\\!_**AGG4R]]1%++QWW5R]]1%++QWW5r6   c           	         t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      ft        j                  dd      t        j                  dd      t        j                  dd      t        j                  dd      t        j                  dd      ffD ]  \  }}}}}t        | |       t        | j                  |j                         t        t        j
                  |      |       t        t        j
                  |      j                  |j                         t        t        j                  |      |       t        t        j                  |      j                  |j                         t        t        j                  |      |       t        t        j                  |      j                  |j                         t        t        j                  |      |       t        t        j                  |      j                  |j                         t        t        j                  |      |       t        t        j                  |      |       t        t        j                  |      |       t        t        j                  |      j                  |j                         t          y )	Nra   r&   rW   r   r   rU   r3  r   )
r,   rX   r^   r   r-   negativepositiveabsolutesignr   )r0   tdatdbtdzerotdonetdmones         r4   test_datetime_unaryz TestDateTime.test_datetime_unary  s    ((A3g.((B4w/((A3g.((A3g.((B4w/	1 ..E*..U+..E*..E*..U+	-. ,CfeV #s#3$syy1S)3/S)//; S)3/S)//;S)3/S)//; S)3/S)//; u-v.&1++SYY7 I.r6   c                 (
   t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd	      t        j                  d
gd      t        j                  dgd      ft        j                  dd      t        j                  dd      t        j                  dd      t        j                  dd      t        j                  dd      t        j                  d
d      t        j                  dd      ffD ]  \  }}}}}}}t	        ||z   |       t	        ||z   j
                  t        j
                  d             t	        |dz   |dz          t	        |dz   j
                  t        j
                  d             t	        |dz   |       t	        |dz   j
                  t        j
                  d             t	        d|z   |       t	        d|z   j
                  t        j
                  d             t	        d|z   |       t	        d|z   j
                  t        j
                  d             t	        |dz   |dz          t	        |dz   |       t	        |dz   j
                  t        j
                  d             t	        |dz   |       t	        |dz   |       t	        |dz   j
                  t        j
                  d             t	        d|z   |       t	        d|z   |       t	        d|z   j
                  t        j
                  d             t	        d|z   |       t	        d|z   |       t	        d|z   j
                  t        j
                  d             t	        ||z   |       t	        ||z   |       t	        ||z   j
                  t        j
                  d             t	        ||z   |       t	        ||z   |       t	        ||z   j
                  t        j
                  d             t	        t        j                  ||d      |       t	        t        j                  ||d      j
                  t        j
                  d             t	        t        j                  ||d      |       t	        t        j                  ||d      j
                  t        j
                  d             t        t        t         j                  ||        y )Nrk  r"   rW   
2012-12-24z2012-12-21T11rF   r\   ra   r&      rG   S   r   [h]TrU   H   Frj  r9   )	r,   rX   r    r^   r   r-   addr   r/   )r0   dtadtbdtcdtnatrz  r{  tdcs           r4   test_datetime_addzTestDateTime.test_datetime_add'  s    hh~W=hh~W=hh0@hhwg6hhs'2hht73hh	{':< mmL%8mmL%8mmOU;mmE51nnQ.nnR/nnY689 0Cc5#sC& sC(#)**BHHW,=>tS1W-#*++RXXg->?tS)#*++RXXg->?c*%#+,,bhhw.?@S)$*++RXXg->?tS1W-u-#*++RXXg->?q#&E*#'"((7*;<c*.%#+,,bhhw.?@S#&UE*!c'"((7*;<sC(e,#)**BHHW,=>sC(ue,#)**BHHW,=> S(;SAS(;AA'*,S(;SAS(;AA'*, )RVVS#6E9r6   c                 .   t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  d	gd      t        j                  d
gd      t        j                  dgd      t        j                  dgd      f	t        j                  dd      t        j                  dd      t        j                  dd      t        j                  dd      t        j                  dd      t        j                  d	d      t        j                  d
d      t        j                  dd      t        j                  dd      f	fD ]  \	  }}}}}}}}}	t	        ||z
  |	       t	        ||z
  j
                  t        j
                  d             t	        ||z
  |	        t	        ||z
  j
                  t        j
                  d             t	        |	dz
  |	dz
         t	        |	dz
  j
                  t        j
                  d             t	        |	dz
  |        t	        |	dz
  j
                  t        j
                  d             t	        d|z
  |        t	        d|z
  j
                  t        j
                  d             t	        d|z
  |	       t	        d|z
  j
                  t        j
                  d             t	        |dz
  |dz
         t	        |dz
  |       t	        |dz
  j
                  t        j
                  d             t	        |d
z
  |       t	        |d
z
  |       t	        |d
z
  j
                  t        j
                  d             t	        ||z
  |       t	        ||z
  |       t	        ||z
  j
                  t        j
                  d             t	        t        j                  ||d      |       t	        t        j                  ||d      j
                  t        j
                  d             t	        t        j                  ||d      t        j                  dd             t	        t        j                  ||d      j
                  t        j
                  d             t	        t        j                  ||d      t        j                  dd             t	        t        j                  ||d      j
                  t        j
                  d             t        t        t         j                  ||       t        t        t         j                  d|       t        t        t         j                  d
|        y )Nrk  r"   rW   r  z
1940-12-24z1940-12-24T00rF   z1940-12-23T13r\   ra   r&   r  rG   =   r   r  TrU   r  Frj  r9   r   r   )	r,   rX   r    r^   r   r-   subtractr   r/   )
r0   r  r  r  dtddter  rz  r{  r  s
             r4   test_datetime_subtractz#TestDateTime.test_datetime_subtractm  s    hh~W=hh~W=hh~W=hh0@hh0@hhwg6hhs'2hht73hh	{':< mmL%8mmL%8mmL%8mmOU;mmOU;mmE51nnQ.nnR/nnY689 :Cc3UCc. sC(#)**BHHW,=>sSD)#)**BHHW,=>tS1W-#*++RXXg->?tcT*#*++RXXg->?sd+%#+,,bhhw.?@S)$*++RXXg->?tS1W-u-#*++RXXg->?q#&E*#'"((7*;<sC(e,#)**BHHW,=> S#x@#FS#x@FF'*, S#x@3/1S#x@FF'*,S#x@3/1S#x@FF'*, )R[[#s;)R[[%=)R[[!S9O9r6   c                    t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      ft        j                  dd      t        j                  dd	      t        j                  dd	      t        j                  dd	      ffD ]  \  }}}}t	        |d
z  |       t	        |d
z  j
                  t        j
                  d             t	        d
|z  |       t	        d
|z  j
                  t        j
                  d             t	        |dz  |       t	        |dz  j
                  t        j
                  d             t	        d|z  |       t	        d|z  j
                  t        j
                  d             t        t        t         j                  ||       t        t        t         j                  ||       t        t        t         j                  ||       t        t        t         j                  |d
       t        t        t         j                  d
|       t        t        t         j                  |d       t        t        t         j                  d|        t               5 }|j                  t        d       t        j                  d      }d }t        t        fD ]"  } || |d
      |        || |d      |       $ t        d      t        d      fD ]F  }	 |t        j                  d      |	|        |t        j                  d      |	|        |||	|       H 	 d d d        y # 1 sw Y   y xY w)Nrk  r"   rW   r   rG   rs   r   r   r  rr         ?z%invalid value encountered in multiplyr\   c                 @    t        | |z  |       t        || z  |       y Nr   )r   r   r  s      r4   checkz2TestDateTime.test_datetime_multiply.<locals>.check  s    QUC(QUC(r6   r   infr   rU   )r,   rX   r    r^   r   r-   r   r/   multiplyr   filterRuntimeWarningintfloat)
r0   r  rz  r{  r  supr   r  tpr   s
             r4   test_datetime_multiplyz#TestDateTime.test_datetime_multiply  s    hh~W=hhs'2hhs'2hht735
 mmL%8nnQ.nnQ.nnR/1
2 Cc3 q#&#'"((7*;<S#&!c'"((7*;<sC(#)**BHHW,=>sC(#)**BHHW,=> )R[[#s;)R[[#s;)R[[#s;)R[[#q9)R[[!S9)R[[#s;)R[[#s;K
2P  CJJ~'NO..'C) Elc2a5#&c2a5#& # ElE%L1bnnQ'C0bnnQ'C0c1c" 2 !  s   B?M  M)zop1, op2, expr   r   r   rU   ru   r   r   r   ib  <   rr   r   13r   )rU   rr   ra   r$   rW   )r   rU   rU   c                 "    t        ||z  |       y r  r  )r0   op1op2exps       r4   test_timedelta_floor_dividez(TestDateTime.test_timedelta_floor_divide  s    > 	SCZ%r6   zfp errors don't work in wasm)reasonzop1, op2r   r   r   r\   2   r3  c                     t        t              5  ||z  }t        |d       t        |j                  t        j
                         d d d        y # 1 sw Y   y xY w)Nr   )r   r  r   r-   r,   r   )r0   r  r  r   s       r4   !test_timedelta_floor_div_warningsz.TestDateTime.test_timedelta_floor_div_warnings  s=     .)CZF#rxx0 *))s   6AAz
val1, val2)l         rU   )l         ru   c                     t        j                  |      }t        j                  |      }||z  }||z  }t        ||       y r  )r,   r^   r   )r0   val1val2r  r  r   rm   s          r4   "test_timedelta_floor_div_precisionz/TestDateTime.test_timedelta_floor_div_precision$  s<     nnT"nnT"4<VX&r6   ra   r   c                 X    t        t        d      5  ||z   d d d        y # 1 sw Y   y xY wNzcommon metadata divisorr	   r/   r0   r  r  s      r4   test_timedelta_floor_div_errorz+TestDateTime.test_timedelta_floor_div_error5  s#     !,EFDL GFF    )c                 D    ||z  ||z  f}t        t        ||      |       y r  )r   divmod)r0   r  r  rm   s       r4   test_timedelta_divmodz"TestDateTime.test_timedelta_divmodA  s'    0 3Jc	*VC%x0r6   zdoes not work in wasmc                     t        t              5  ||z  ||z  f}d d d        t        t              5  t        ||      }d d d        t               y # 1 sw Y   :xY w# 1 sw Y   "xY wr  )r   r  r  r   )r0   r  r  rm   r   s        r4   test_timedelta_divmod_warningsz+TestDateTime.test_timedelta_divmod_warnings\  sV     .)s
C#I.H *.)C%F *VX&	 *)))s   AA A A)c           	      	   t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      t        j                  dgd      ft        j                  dd	      t        j                  dd
      t        j                  dd
      t        j                  dd
      t        j                  dd      ffD ]'  \  }}}}}t	        |dz  |       t	        |dz  j
                  t        j
                  d             t	        |dz  |       t	        |dz  j
                  t        j
                  d             t	        ||z  d       t	        t        j                  ||      d       t	        t        j                  ||      d       t	        ||z  d       t	        ||z  j
                  t        j
                  d             t	        ||z  d       t	        ||z  d       t        t        t         j                  d|       t        t        t         j                  d|       t        t        t         j                  ||       t        t        t         j                  ||       t        t        t         j                  |d       t        t        t         j                  d|       t        t        t         j                  |d       t        t        t         j                  d|       * t               5 }|j                  t        d       t        j                  d      }t        t        fD ]|  }t	        t        j                  d       |d      z  |       t	        t        j                  d       |d      z  |       t	        | |d      z  |       t	        | |d      z  |       ~ t	        t        j                  d      t        d      z  t        j                  d             t	        t        j                  d      t        d      z  t        j                  d             t	        |t        d      z  |       t	        t        j                  d      t        d      z  |       t	        t        j                  d      t        d      z  |       t	        |t        d      z  |       d d d        y # 1 sw Y   y xY w)Nrk  r"   rW   r   rG   rs   r   zm8[m]r   r  z[m]rr   g      ?gUUUUUU?r  f8r  g?z.*encountered in divider\   rU   r   r  r   )r,   rX   r    r^   r   r-   dividetrue_divider   r/   r   r  r  r  r  )	r0   r  rz  r{  r  tddr  r   r  s	            r4   test_datetime_dividez!TestDateTime.test_datetime_divideq  sn    hh~W=hhs'2hhs'2hht73hhs'2	4 mmL%8nnQ.nnQ.nnR/nnQ.	01 $Cc3 q#&#'"((7*;<sC(#)**BHHW,=>sE*3,e4S159sE*#)**BHHTN;sB'sF+ )RYY37)RYYS9)RYYS9)RYYS9)RYYQ7)RYY37)RYYS9)RYYS9W1\  CJJ~(BC..'CElR^^A.A6<R^^A.A6<S2a5[#.S2a5[#.	 # *U5\92>>!;LM*U5\92>>!;LMuU|+S1*U5\93?*U5\93?uU|+S1 !  s   F9SS!c                    t        j                  d      }t        j                  g dd      }t        t        j                  ||      g d       t        t        j
                  ||      g d       t        t        j                  ||      g d       t        t        j                  ||      g d       t        t        j                  ||      g d	       t        t        j                  ||      g d
       y )N2000-03-12T18:00:00.000000)r  z2000-03-12T17:59:59.999999z2000-03-12T18:00:00.000001z1970-01-11T12:00:00.909090z2016-01-11T12:00:00.909090zdatetime64[us]rW   )rU   r   r   r   r   )r   rU   rU   rU   rU   )r   r   rU   r   rU   )rU   r   rU   r   rU   )r   rU   r   rU   r   )rU   rU   r   rU   r   )
r,   r    rX   r   rl  	not_equalrm  
less_equalgreatergreater_equalr   s      r4   test_datetime_comparez"TestDateTime.test_datetime_compare  s    MM67HH 4
 -. 	RXXa^_5R\\!Q'9RWWQ]O4R]]1a(/:RZZ1%7R%%a+_=r6   c                    t        j                  dd      }t        j                  d      }t        j                  dd      }t        j                  dd      }t         j                  t         j                  t         j
                  t         j                  t         j                  fD ]t  }t         |||              t         |||              t         |||              t         |||              t         |||              t         |||              v t        t        j                  ||             t        t        j                  ||             t        t        j                  ||             t        t        j                  ||             t        t        j                  ||             t        t        j                  ||             y )Nr\   r   r   r   rU   )
r,   r    r^   rl  rm  r  r  r  r   r  )r0   dt_natdt_othertd_nattd_otherops         r4   test_datetime_compare_natz&TestDateTime.test_datetime_compare_nat  sN   uc*==.s+>>!S)88RWWbmm::r//1B66**+68,,-8V,,-66**+68,,-8V,,-1 	VV,-VX./Xv./VV,-VX./Xv./r6   c                    t        j                  dd      }t        j                  dd      }t        t        j                  ||      |       t        t        j                  ||      j                  t        j                  d             t        t        j
                  ||      |       t        t        j
                  ||      j                  t        j                  d             t        t        j                  ||      |       t        t        j                  ||      j                  t        j                  d             t        t        j                  ||      |       t        t        j                  ||      j                  t        j                  d             t        t        j                  |j                  d      |j                  d            |j                  d             t        j                  dd      }t        j                  dd      }t        t        j                  ||      |       t        t        j                  ||      |       t        t        j                  ||      |       t        t        j                  ||      |       t        t        j
                  ||      |       t        t        j
                  ||      |       t        t        j                  ||      |       t        t        j                  ||      |       t        j                  d	d
      }t        j                  dd      }t        t        j                  ||      |       t        t        j                  ||      j                  t        j                  d             t        t        j
                  ||      |       t        t        j
                  ||      j                  t        j                  d             t        t        j                  ||      |       t        t        j                  ||      j                  t        j                  d             t        t        j                  ||      |       t        t        j                  ||      j                  t        j                  d             t        t        j                  |j                  d      |j                  d            |j                  d             t        j                  d	d
      }t        j                  dd      }t        t        t         j                  ||d       t        t        t         j                  ||d       t        t        t         j
                  ||d       t        t        t         j                  ||d       y )Nz1999-03-12T13zM8[2m]rW   z1999-03-12T12r!   r<   r\   rF   ra   rG   i-*  r%   r8   r9   )r,   rX   r   minimumr-   fminmaximumfmaxr  r   r/   )r0   r   r   r  s       r4   test_datetime_minmaxz!TestDateTime.test_datetime_minmax  s    HH_H5HH_G4RZZ1%q)RZZ1%++RXXg->?RWWQ]A&RWWQ](("((7*;<RZZ1%q)RZZ1%++RXXg->?RWWQ]A&RWWQ](("((7*;< 	RZZtaffTl;QVVD\J HH_H5g.RZZ5)51RZZq)51RZZ5)51RZZq)51RWWUA&*RWWQ&*RWWUA&*RWWQ&* HHQg&HHZw/RZZ1%q)RZZ1%++RXXg->?RWWQ]A&RWWQ](("((7*;<RZZ1%q)RZZ1%++RXXg->?RWWQ]A&RWWQ](("((7*;< 	RZZtaffTl;QVVD\J HHQg&HH_G4
 	iQ;GiQ;Gi!QDi!QDr6   c                     t        j                  dd      }d|d<   t        |d   j                         j                  dk(         y )Nra   r!   rW   i  r   r   )r,   onesr   itemhourr0   ts     r4   
test_hourszTestDateTime.test_hours  s8    GGAW%"!!		  B&'r6   c                 <   t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         y )NzM8[Y/4]zM8[3M]zM8[Y/13]zM8[4W]z	M8[3Y/73]zM8[15D]r   rI   s    r4   test_divisor_conversion_yearz)TestDateTime.test_divisor_conversion_year  _    #rxx'99:$(::;%))<<=r6   c                 <   t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         y )NzM8[M/2]zM8[2W]zM8[M/15]r   z	M8[3M/40]zM8[54h]r   rI   s    r4   test_divisor_conversion_monthz*TestDateTime.test_divisor_conversion_month  r  r6   c                 <   t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         y )Nzm8[W/7]r&   z	m8[3W/14]zm8[36h]z
m8[5W/140]zm8[360m]r   rI   s    r4   test_divisor_conversion_weekz)TestDateTime.test_divisor_conversion_week$  s_    #rxx'889%))<<=&"((:*>>?r6   c                 <   t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         y )NzM8[D/12]zM8[2h]z	M8[D/120]zM8[12m]z
M8[3D/960]zM8[270s]r   rI   s    r4   test_divisor_conversion_dayz(TestDateTime.test_divisor_conversion_day)  s_    $(::;%))<<=&"((:*>>?r6   c                     t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         y )Nzm8[h/30]zm8[2m]z
m8[3h/300]zm8[36s]r   rI   s    r4   test_divisor_conversion_hourz)TestDateTime.test_divisor_conversion_hour.  s@    $(::;&"((9*==>r6   c                     t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         y )Nzm8[m/30]zm8[2s]z
m8[3m/300]z	m8[600ms]r   rI   s    r4   test_divisor_conversion_minutez+TestDateTime.test_divisor_conversion_minute2  s@    $(::;&"((;*??@r6   c                     t        t        j                  d      t        j                  d      k(         t        t        j                  d      t        j                  d      k(         y )Nz	m8[s/100]zm8[10ms]zm8[3s/10000]z	m8[300us]r   rI   s    r4   test_divisor_conversion_secondz+TestDateTime.test_divisor_conversion_second6  s@    %*)==>(BHH[,AABr6   c                     t        t        j                  d      t        j                  d      k(         t        t        d        y )Nz
M8[fs/100]zM8[10as]c                  ,    t        j                  d      S )NzM8[3fs/10000]r,   r-   rT  r6   r4   r,  z9TestDateTime.test_divisor_conversion_fs.<locals>.<lambda><  s    "((?*Cr6   )r   r,   r-   r   r   rI   s    r4   test_divisor_conversion_fsz'TestDateTime.test_divisor_conversion_fs:  s,    &"((:*>>?j"CDr6   c                 &    t        t        d        y )Nc                  ,    t        j                  d      S )Nz	M8[as/10]r  rT  r6   r4   r,  z9TestDateTime.test_divisor_conversion_as.<locals>.<lambda>?  s    "((;*?r6   )r   r   rI   s    r4   test_divisor_conversion_asz'TestDateTime.test_divisor_conversion_as>  s    j"?@r6   c           
         t        t        j                  dgt        j                  d            t        j                  dgt        j                  d                   t        t        j                  dgt        j                  d            t        j                  dgt        j                  d                   t        t        j                  dgt        j                  d            t        j                  dgt        j                  d                   t	        t
              5  t        t        j                  dgt        j                  d            t        j                  dgt        j                  d                   d d d        t	        t
              5  t        t        j                  dgt        j                  d            t        j                  d	gt        j                  d                   d d d        t	        t
              5  t        t        j                  d
gt        j                  d            t        j                  dgt        j                  d                   d d d        t	        t
              5  t        t        j                  dgt        j                  d            t        j                  dgt        j                  d                   d d d        t	        t
              5  t        t        j                  dgt        j                  d            t        j                  dgt        j                  d                   d d d        t	        t
              5  t        t        j                  d      t        j                  d             d d d        y # 1 sw Y   %xY w# 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nz1980-02-29T01:02:03r!   z1980-02-29 01:02:03z+1980-02-29T01:02:03z+1980-02-29 01:02:03z-1980-02-29T01:02:03z-1980-02-29 01:02:03z+1980-02-29 01:02:03Zz-1980-02-29 01:02:03Zz1980-02-29T02:02:03z1980-02-29 00:32:03-0130z1980-02-28T22:32:03z1980-02-29 00:02:03+01:30z1980-02-29T02:32:03.506z1980-02-29 00:32:03.506-02z1977-03-02T12:30-0230z1977-03-02T15:00)r   r,   rX   r-   r   r   r    rI   s    r4   test_string_parser_variantsz(TestDateTime.test_string_parser_variantsA  s   RXX45rxx7HIXX45rxx7HI	K 	RXX568IJXX568IJ	L 	RXX568IJXX568IJ	L ,-01288G3DE12BHHW4EFH . ,-01288G3DE12BHHW4EFH .
 ,-/0"((72CD45rxx7HIK . ,-/0"((72CD568IJL . ,-34bhhw6GH67'9JKM . ,-'>?'9:< .-+ .- .-
 .- .- .- .-sM   $AN$AN1AN> AO4AO(3O#$N.1N;>OOO #O,c           	      ~   t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  d	gt        j                  d             t        t        t        j                  d
gt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  dgt        j                  d             t        t        t        j                  d gt        j                  d             t        t        t        j                  d!gt        j                  d             t        t        t        j                  d"gt        j                  d             t        t        t        j                  d#gt        j                  d             t        t        t        j                  d$gt        j                  d             t        t        t        j                  d%gt        j                  d             t        t        t        j                  d&gt        j                  d             t        t              5  t        t        t        j                  d'gt        j                  d             d d d        t        t              5  t        t        t        j                  d(gt        j                  d             d d d        t        t              5  t        t        t        j                  d)gt        j                  d             d d d        t        t              5  t        t        t        j                  d*gt        j                  d             d d d        t        t              5  t        t        t        j                  d+gt        j                  d             d d d        y # 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   {xY w# 1 sw Y   y xY w),NbadvaluerM   1980Xz1980-z1980-00z1980-13z1980-1z	1980-1-02z1980-Morz1980-01-z	1980-01-0z
1980-01-00z
1980-01-32z
1979-02-29z
1980-02-30z
1980-03-32z
1980-04-31z
1980-05-32z
1980-06-31z
1980-07-32z
1980-08-32z
1980-09-31z
1980-10-32z
1980-11-31z
1980-12-32z1980-02-03%z1980-02-03 qz1980-02-03 25z1980-02-03T25z1980-02-03 24:01z1980-02-03T24:01z1980-02-03 -1z1980-02-03 01:z1980-02-03 01:-1z1980-02-03 01:60z1980-02-03 01:60:z1980-02-03 01:10:-1z1980-02-03 01:01:60z1980-02-03 01:01:00+0661z1980-02-03 01:01:00+2500z1980-02-03 01:01:00-0070z1980-02-03 01:01:00-3000z1980-02-03 01:01:00-25:00)r   r   r,   rX   r-   r   r   rI   s    r4   test_string_parser_error_checkz+TestDateTime.test_string_parser_error_checke  s   j"((ZL"((8:LMj"((WIrxx7IJj"((WIrxx7IJj"((YK(9KLj"((YK(9KLj"((XJ8JKj"(([M288H;MNj"((ZL"((8:LMj"((ZL"((8:LMj"(([M288H;MNj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((\NBHHX<NOj"((]O8:8J	Lj"((^,<8:8J	L 	j"((_,=8:8J	Lj"((_,=8:8J	Lj"((-?,@8:8J	Lj"((-?,@8:8J	Lj"((_,=8:8J	L 	j"((-=,>8:8J	L 	j"((-?,@8:8J	Lj"((-?,@8:8J	L 	j"((-@,A8:8J	L 	j"((-B,C8:8J	Lj"((-B,C8:8J	L ,-*bhh1K0L<>HHX<NP . ,-*bhh1K0L<>HHX<NP . ,-*bhh1K0L<>HHX<NP . ,-*bhh1K0L<>HHX<NP . ,-*bhh1L0M<>HHX<NP .- .- .- .- .- .-s<   5d 5d,5d85d'5d3ddd$'d03d<c                    d}t        j                  |gd      d   j                  t         j                        }dD ]S  }|dz  }t        j                  |gd|z        }t	        ||d   j                  t         j                        d|z  	       U t	        d   j                  t         j                        d
       t        j                  t              5  t        j                  dd       d d d        t        j                  t              5  t        j                  dd       d d d        y # 1 sw Y   BxY w# 1 sw Y   y xY w)Nz1980-03-23 20:00:00zdatetime64[s]rW   r   )r   r   r   rd   zdatetime64[%s]z%Datetime conversion error for unit %s)err_msgl     m	1#l            r   )
r,   rX   r   r   r   pytestraisesrM  r    r^   )r0   r   	timestepsr1   r+  s        r4   test_creation_overflowz#TestDateTime.test_creation_overflow  s    $HHdV?;A>EEbhhO	&DI$'7$'>?AAaDKK$9!H4!OQ	 ' 	QqT[[*,>? ]]=)MM%% *]]=)NN5#& *) *)))s   D0D<0D9<Ec           	      h   d}d}t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d	       t        t        j                  t        j                  |d
            d       t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d       dD ]5  }t        t        j                  t        j                  ||            d       7 d}t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d       d}t        t        j                  t        j                  |d            |       d}t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d       t        t        j                  t        j                  |d            d       d}t        t        j                  t        j                  |d            |       t        j                  d d!      }t        t        j                  |dd"#      d$       t        t        j                  |dd"#      d%       t        t        j                  |d&d"#      d'       t        t        j                  |dd"#      d'       t        t        j                  |d(      d)       t        t        j                  |d
(      d*       t        t        j                  |d(      d+       t        t        j                  |d(      d,       t        t        j                  |d!(      d        t        t        j                  |d(      d-       t        t        j                  |d(      d.       t        t        j                  |d(      d/       t        t        j                  |d(      d0       t        t        j                  t        j                  d d!      d1(      d        t        t        j                  t        j                  d2d!      d1(      d3       t        t        j                  t        j                  d+d!      d1(      d+       t        t        j                  t        j                  d4d!      d1(      d*       t        t        j                  t        j                  d5d!      d1(      d6       t        t        j                  t        j                  d7d!      d1(      d'       t        t        j                  t        j                  d8d!      d1(      d9       t        t        j                  t        j                  d:d!      d1(      d;       y )<Nz
1959-10-13z&1959-10-13T12:34:56.789012345678901234r   1959r   z1959-10r   r   z1959-10-13T12r   z1959-10-13T12:34r   z1959-10-13T12:34:56r   z1959-10-13T12:34:56.789)r   r   s   usz1959-10-13T12:34:56.789012z&1969-12-31T23:34:56.789012345678901234r   z1969-12-31T23:34:56.789012345r   z 1969-12-31T23:34:56.789012345678r   z#1969-12-31T23:34:56.789012345678901z&1969-12-31T23:59:57.789012345678901234r   z&1970-01-01T00:34:56.789012345678901234z1970-01-01T00:34:56.789012345z 1970-01-01T00:34:56.789012345678z#1970-01-01T00:34:56.789012345678901z&1970-01-01T00:00:05.789012345678901234z2032-07-18T12:23:34.123456r   rj  )r1   r:   2032z2032-07r   z
2032-07-18)r1   z2032-07-18T12z2032-07-18T12:23z2032-07-18T12:23:34z2032-07-18T12:23:34.123z2032-07-18T12:23:34.123456000z 2032-07-18T12:23:34.123456000000z#2032-07-18T12:23:34.123456000000000z&2032-07-18T12:23:34.123456000000000000autoz2032-07-18T12:23:34.12z2032-07-18T12:23:34.120z2032-07-18T12:23:00z2032-07-18T12:00:00z2032-07-18T12:00z2032-07-18T00:00:00z2032-07-01T00:00:00z
2032-07-01z2032-01-01T00:00:00z
2032-01-01)r   r,   r*  r    )r0   r   r   r   r   s        r4   test_datetime_as_stringz$TestDateTime.test_datetime_as_string  s-   ;R**2==s+CD	R**2==s+CD	 R**2==s+CD!	#R**2==3+GH$	&R**2==3+GH'	)R**2==3+GH*	,R**2==4+HI.	0&B..r}}Xr/JK57 ' <R**2==4+HI4	6R**2==4+HI7	9R**2==4+HI:	< <R**2==4+HI	;R**2==4+HI4	6R**2==4+HI7	9R**2==4+HI:	< <R**2==4+HI	 MM6=R**13I"	$R**13I%	'R**13I(	*R**13I(	*R**137IR**137.	0R**1371	3R**1485	7R**1488	:R**148;	=R**148>	@R**148A	CR**148D	F 	R**:DAP,	. 	R**6=FL)	+ 	R**3T:I%	' 	R**3T:I"	$ 	R**3T:I"	$ 	R**3T:I	 	R**3T:I	 	R**3T:I	r6   z!The pytz module is not available.c           	      b   t        j                  dd      }t        t        j                  |      d       t        t        j                  |d      d       t        t        j                  |d      d       t	        t        j                  |d      dk7         t        j                  dd      }t        t        j                  |t        d	            d
       t        t        j                  |t        d            d       t        t        j                  |t        d            d       t        t        j                  |t        d	            d       t        t        j                  |t        d            d       t        t        j                  |t        d            d       t        t        t         j                  |dt        d             t        t        j                  |dt        d      d      d       t        t        j                  |dt        d	      d      d       y )Nz2010-03-15T06:30r   naiver   r)  z2010-03-15T06:30Zlocalz2010-02-15T06:30z
US/Centralz2010-03-15T01:30-0500z
US/Easternz2010-03-15T02:30-0400z
US/Pacificz2010-03-14T23:30-0700z2010-02-15T00:30-0600z2010-02-15T01:30-0500z2010-02-14T22:30-0800r   )r1   r   rj  )r1   r   r:   z
2010-03-14z
2010-02-15)r,   r    r   r*  r   tzr   r/   r   s      r4    test_datetime_as_string_timezonez-TestDateTime.test_datetime_as_string_timezone4  s    MM,c2R**1-"	$R**1w?"	$R**1u=#	%%%a':"# 	$ MM,c2R**1r,7GH,	.R**1r,7GH,	.R**1r,7GH,	. 	R**1r,7GH,	.R**1r,7GH,	.R**1r,7GH,	. 	i!6!6$&|$4	6 	R**13$&|$4hH!	# 	R**13$&|$4hH!	#r6   c           	      F   t        j                  ddd      }t        |j                  t        j                  d             t        |t        j                  g dd             t        j                  dddd      }t        |j                  t        j                  d             t        |t        j                  g d	d             t        j                  d
ddd      }t        |j                  t        j                  d             t        |t        j
                  d
      t        j                  dd      z          t        j                  dddd      }t        |j                  t        j                  d             t        |t        j
                  d      t        j                  dd      z          t        j                  ddt        j                  d      d      }t        |j                  t        j                  d             t        |t        j
                  d      t        j                  dd      z          t        t        t         j                  t        j
                  d      t        j
                  d      dz   d       t        t        t         j                  t        j
                  dd      t        j                  dd             t        t        t         j                  t        j
                  dd      t        j                  dd             y ) N
2010-01-05z
2010-01-10r"   rW   )r  z
2010-01-06z
2010-01-07z
2010-01-08z
2010-01-09
1950-02-10z
1950-02-06r3  )r  z
1950-02-09z
1950-02-08z
1950-02-07z1969-05z1970-05rr   r   rB   r   )stepr   r   ra   rC   z
1969-12-19r   r   r   z
2011-03-01r   r   r   z2012-02-03T14r   r   )
r,   ri   r   r-   rX   r    r^   r   r   r/   r   s     r4   test_datetime_arangez!TestDateTime.test_datetime_arange\  s    IIlL@QWWbhhw/0QHH 29@B	C IIlL"GDQWWbhhw/0QHH $+24	5
 IIiAT:QWWbhhw/0QMM)$ryy!'<<	>
 IIfb!40QWWbhhw/0QMM&!BIIbq$99	;IIlBq(9FQWWbhhw/0QMM,'"))BQ*??	A 	j"))R]]7-C "g 6 :A	? 	iBMM,,L "q# 6	8i "os C "q# 6	8r6   c                     t        j                  dd      }t        t        j                  ||dz         |       t	        t
        t         j                  |       y )Nz
2010-01-04r"   rW   rU   )r,   rX   r   ri   r   r   r0   r   s     r4   test_datetime_arange_no_dtypez*TestDateTime.test_datetime_arange_no_dtype  s;    HH\1RYYq!a%(!,j"))Q/r6   c           	         t        j                  ddd      }t        |j                  t        j                  d             t        |t        j                  d      t        j                  dd      z          t        j                  t        j                  dd      ddd      }t        |j                  t        j                  d             t        |t        j                  dd      t        j                  ddd      z          t        t        t         j                  t        j                  d      t        j                  d	      d       t        t        t         j                  t        j                  dd
      t        j                  d	d             t        t        t         j                  t        j                  dd      t        j                  d	d
             y )Nra   r   r$   rW   r   r   rr   r%   r   r   r   r   )r,   ri   r   r-   r^   r   r   r/   r   s     r4   test_timedelta_arangez"TestDateTime.test_timedelta_arange  s-   IIa4(QWWbhhtn-Qq)BIIa,<<=IIbnnQ,b!4@QWWbhhw/0Qq#.1b!1DDE 	j"))R^^A-> "q 11	6 	iBNN1c,B "q# 6	8iBNN1c,B "q# 6	8r6   zval1, val2, expectedr   r   r   r   9   i  r   i  c                 "    t        ||z  |       y r  r  )r0   r  r  rm   s       r4   test_timedelta_modulusz#TestDateTime.test_timedelta_modulus  s    H 	TD[(+r6   c                 X    t        t        d      5  ||z   d d d        y # 1 sw Y   y xY wr  r  r  s      r4   test_timedelta_modulus_errorz)TestDateTime.test_timedelta_modulus_error  s#     !,EF4K GFFr  c                     t        t              5  t        j                  dd      t        j                  dd      z  }t	        |t        j                  d             d d d        y # 1 sw Y   y xY w)Nr   r   r   r\   )r   r  r,   r^   r   )r0   r   s     r4   "test_timedelta_modulus_div_by_zeroz/TestDateTime.test_timedelta_modulus_div_by_zero  sI    .)^^B,r~~a/EEF!67 *))s   AA&&A/   g      @c                 X    t        t        d      5  ||z   d d d        y # 1 sw Y   y xY w)Nz*'remainder' cannot use operands with typesr  r  s      r4   &test_timedelta_modulus_type_resolutionz3TestDateTime.test_timedelta_modulus_type_resolution  s,     !!MO4KO O Or  c                     t        j                  dd      }t        t        j                  ||dz         |       t        t        j                  |      t        j                  d|             y )Nr   r&   rW   rU   r   )r,   rX   r   ri   r  s     r4   test_timedelta_arange_no_dtypez+TestDateTime.test_timedelta_arange_no_dtype  sG    HHQg&RYYq!a%(!,RYYq\299Q?3r6   c                 r   t        j                  g dd      }t        t         j                  j	                  |      j
                  t        j
                  d             t        t         j                  j	                  |      t        j                  d             t        j                  g dd      }t        t         j                  j	                  |      j
                  t        j
                  d             t        t         j                  j	                  |      t        j                  dd             y )	N)
2010-01-02z
1999-03-14z1833-03r"   rW   r!  )rU   r   r   r   rr   r%   r   r   )r,   rX   r   r  reducer-   r    r^   r   s     r4   test_datetime_maximum_reducez)TestDateTime.test_datetime_maximum_reduce  s    HH<GLRZZ&&q)//'1BCRZZ&&q)]]<0	2 HH_G4RZZ&&q)//'1BCRZZ&&q)^^As+	-r6   c                     t        j                  dd      }t        |j                         |j	                         t        |      z         y )Nrd   r%   rW   )r,   ri   r
   meansumlenr   s     r4   test_timedelta_correct_meanz(TestDateTime.test_timedelta_correct_mean  s3     IId'*1668QUUWs1v%56r6   c                    t        j                  ddgd      }d}t        j                  t        |      5  t         j
                  j                  |       d d d        t        j                  t        |      5  t         j
                  j                  |       d d d        t        j                  t        |      5  t         j
                  j                  |dg       d d d        y # 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   y xY w)Nz
2021-12-02z
2019-05-12r   rW   z&the resolved dtypes are not compatible)matchr   )	r,   rX   r  r  r/   r  r"  
accumulatereduceat)r0   rn   msgs      r4   $test_datetime_no_subtract_reducelikez1TestDateTime.test_datetime_no_subtract_reducelike  s     hhl38D7]]9C0KKs# 1 ]]9C0KK""3' 1 ]]9C0KK  qc* 10 10 10 10s#    C(: C4="D (C14C= D	c                 f	   t        t        j                  dddd      t        j                  d             t        t        j                  dddd      t        j                  d	             t        t        j                  dddd      t        j                  d	             t        t        j                  d
dd      t        j                  d             t        t        j                  d
dd      t        j                  d             t        t        j                  d
dd      t        j                  d             t        t        j                  d
dd      t        j                  d             t        t        j                  d
dd      t        j                  d             t        t        j                  d
dd      t        j                  d             t        t        j                  ddd      t        j                  d             t        t        j                  ddd      t        j                  d             t        t        j                  ddd      t        j                  d             t        t        j                  ddd      t        j                  d             t        t        j                  ddd      t        j                  d             t	        t
        t        j                  dd       t        t        j                  dd      t        j                  d             t        t        j                  dd      t        j                  d             t        t        j                  ddd !      t        j                  d"             t        t        j                  d"d#d !      t        j                  d             t        t        j                  t        j                  d$      d%d&      t        j                  d$             t        t        j                  t        j                  d$      d%d      t        j                  d$             t        t        j                  t        j                  d$      d%d      t        j                  d$             y )'Nz2011-06r   forwardMon)rollweekmaskz
2011-06-06z2011-07r3  z
2011-06-27z2010-08backward)r2  z
2010-07-30	precedingmodifiedprecedingz
2010-08-02modifiedfollowing	followingz
2010-10-30z
2010-11-01z
2010-10-29z
2010-10-16z
2010-10-18z
2010-10-15z
2011-06-04z
2006-02-01r   z
2006-03-08z
2007-02-25r  SatSunr3  z
2007-04-07ir\   rU   r   )r   r,   busday_offsetr    r   r   rI   s    r4   test_datetime_busday_offsetz(TestDateTime.test_datetime_busday_offset  s[   Y	EJMM,'	) 	YUKMM,'	) 	YUKMM,'	)
 	R%%iD]]<0	2R%%iE]]<0	2R%%i9LM]]<0	2R%%i9LM]]<0	2R%%iC]]<0	2R%%iE]]<0	2R%%lAKH]]<0	2  q7JKl+	- 	  q7JKl+	- 	  q7JKl+	- 	  q7JKl+	- 	j""2"2L!D 	R%%lB7]]<0	2R%%lC8]]<0	2R%%lBJ]]<0	2R%%lC(K]]<0	2 	R%%bmmE&:AEJ]]5)	+R%%bmmE&:AKP]]5)	+R%%bmmE&:AKP]]5)	+r6   c                    t        j                  g d      }t        |j                  t        j                  g dd             t        |j
                  t        j                  g dd             t        j                  d	      }t        |j
                  t        j                  g d
d             t        j                  d	      }t        |j
                  t        j                  g dd             t        j                  d	      }t        |j
                  t        j                  g dd             t        t        t         j                  g d	       t        t        t         j                  d	       t        t        t         j                  d	       t        t        t         j                  d	       t        t        t         j                  d	       t        t        t         j                  d	       y )N)r\   
2011-01-17z
2011-03-06r\   
2011-12-26
2011-05-30r?  holidays)r?  rA  r@  r   rW   )rU   rU   rU   rU   rU   r   r   ?zSun TueWed  Thu	Frir;  )r   rU   rU   rU   rU   r   rU   0011001)r   r   rU   rU   r   r   rU   zMon Tue)rU   rU   r   r   r   r   r   )r   r   r   r   r   r   r   satsun z
Mon Tue WeMaxz
Monday Tue)r,   busdaycalendarr   rC  rX   r3  r   r   )r0   bdds     r4   test_datetime_busdaycalendarz)TestDateTime.test_datetime_busdaycalendarE  sK    AB 	S\\HH?tL	N 	S\\288,A#MN )?@S\\288,A#MN 3S\\288,A#MN 3S\\288,A#MN 	j""3"3>STj""3"3hGj""3"3bAj""3"3lKj""3"3eDj""3"3lKr6   c           	         t        t        j                  dddg      t        j                  d             t        t        j                  dddg      t        j                  d             t        t        j                  dddg      t        j                  d             t        t        j                  dd	dg      t        j                  d             t        t        j                  dd
dg      t        j                  d             t        t        j                  dd
dg      t        j                  d             t        t        j                  ddddg      t        j                  d             t        t        j                  dd	ddg      t        j                  d             t        t        j                  ddddg      t        j                  d             t        t        j                  dd	ddg      t        j                  d             t        t        j                  ddddg      t        j                  d             t        t        j                  dd	ddg      t        j                  d             t        t        j                  ddddg      t        j                  d             t        t        j                  dd	ddg      t        j                  d             t        t        j                  ddg d      t        j                  d             t        t        j                  dd	g d      t        j                  d             g d}t        j                  d|      }t        t        j                  dd|      t        j                  dd             t        t        j                  dd|      t        j                  dd             t        t        j                  dd|      t        j                  dd             t        t        j                  dd|      t        j                  dd             t        t        j                  dd|      t        j                  dd             t        t        j                  dd|      t        j                  dd             t        t        j                  dd|      t        j                  dd             t        t        j                  dd|      t        j                  dd             t        t        j                  dd |      t        j                  dd!             t        t        j                  dd|      t        j                  dd"             t        t        j                  dd|#      t        j                  dd"             t        t        j                  d$d	|      t        j                  d$d%             t        t        j                  d$d&|      t        j                  d$d
             t        t        j                  d$d
|      t        j                  d$d'             t        t        j                  d$d(|      t        j                  d$d)             t        t        j                  d$d*|      t        j                  d$d+             t        t        j                  d$d,|      t        j                  d$d-             t        t        j                  d$d.|      t        j                  d$d/             t        t        j                  d$d0|      t        j                  d$d1             t        t        j                  d$d2|      t        j                  d$d3             t        t        j                  d$d2|#      t        j                  d$d3             t        t        t        j                  d$d4d|5       t        t        t        j                  d$d4||6       t        t        j                  d7d8d9|:      t        j                  d;             t        t        j                  d<d8d9|:      t        j                  d;             t        t        j                  d<d8d=|:      t        j                  d>             t        t        j                  d?d8d@g dA:      t        j                  dB             t        t        j                  dCd8dDg dE:      t        j                  dF             y )GNz
2011-11-10rU   
2011-11-11rB  z
2011-11-14z
2011-11-04r   z
2011-11-18r3  r\   
2011-11-24
2011-10-10)rP  rM  rO  )rP  rM  rO  
2011-12-25rA  
2011-02-21r@  
2012-01-021111100r3  rC  z
2011-10-03r   r      r   r   #   %   r   '   8   ;   r  r  r  @   B   	busdaycal
2012-01-03ru   r  ir9  iiiiiiiiiiiir3  r_  rC  r_  rQ  r   r0  )r2  rC  z
2011-12-27r@  r4  z
2011-12-23
2012-02-27r7  )rc  z
2012-02-26z
2012-02-28
2012-03-01z
2012-02-29z
2012-02-24
2012-03-06r6  )z
2012-03-02z
2012-03-03rd  z
2012-03-05z
2012-03-07re  z
2012-03-08)r   r,   r<  r    rI  r   r   r0   rC  rJ  s      r4   $test_datetime_busday_holidays_offsetz1TestDateTime.test_datetime_busday_holidays_offsetg  s   \1~FMM,'	) 	\1~FMM,'	) 	\1~FMM,'	) 	\2GMM,'	) 	\2GMM,'	) 	\2GMM,'	) 	\1&57MM,'	) 	\2&57MM,'	)
 	\1&.0MM,'	) 	\2.0MM,'	)
 	\1&57MM,'	) 	\2&57MM,'	)
 	\1&57MM,'	) 	\2&57MM,'	)
 	\1CEMM,'	) 	\2CEMM,'	). XF\1x@\1-	/ 	\1x@\51	3 	\2A\62	4 	\2A\62	4 	\2A\62	4 	\2A\62	4 	\2A\62	4 	\2A\62	4 	\2A\62	4 	\2A\62	4 	\2=\62	4 	\2A\62	4 	\2A\62	4 	\2A\62	4 	\3B\73	5 	\3B\73	5 	\3B\73	5 	\3B\73	5 	\3B\73	5 	\3B\73	5 	\3#>\73	5
 	j""2"2L#!*c	;j""2"2L#!)S	: 	\13MM,'	) 	\13MM,'	) 	\1(4MM,'	) 	\1(67 MM,'	) 	\1(DE MM,'	)r6   c                    g d}t        j                  d|      }t        j                  dt        j                  d      d|      }t	        t        j
                  d||      t        j                  d             t	        t        j
                  |d|      t        j                  d       d	z
         t        j                  d
t        j                  d       d|      }t        j                  d      }d|d<   t	        t        j
                  |d
|      |       t        j                  d       d	z   }d|d<   t	        t        j
                  d
||      |       t        t        t         j                  ddd|       t        t        t         j                  dd||       t	        t        j
                  ddd      d       t	        t        j
                  ddd      d       t        j                  d      }|d	z   }|dz   }|dz   }t	        t        j
                  ||      d       t	        t        j
                  ||      d       t	        t        j
                  ||      d	       t	        t        j
                  ||      d       y )N)
2011-01-01rP  rM  rO  rQ  rA  rR  r?  r@  rS  rR  rA  
2011-07-01
2011-07-04
2011-09-05rP  rT  rU  ri  in  r0  )r2  r_  r^  rU   z
2011-12-31r3  r   r`  z
2012-02-03ra  rb  z2011-03z2011-04r1  r;  r   r  z
2023-03-05r   r   )	r,   rI  r<  ri   r   busday_countr   r   r    )	r0   rC  rJ  datesrm   sundaymondayfridaysaturdays	            r4   #test_datetime_busday_holidays_countz0TestDateTime.test_datetime_busday_holidays_count	  s   L XF   ryy~&#7R__\5CHYYs^	% 	R__ULCHiin_q(	*   		#&#7 99S>R__ULCH	 IIcN?1$R__\5CH	 	j""2"2L,!*c	;j""2"2L,!)S	: 	R__Y	EJANR__Y	EJBO|,!!A:R__VV4a8R__VV4b9R__VX6:R__Xv6:r6   c                 r   g d}t        j                  d|      }t        t        j                  d      d       t        t        j                  d      d       t        t        j                  d      d       t        t        j                  ||	      t        j                  t        |      d
             y )N)ri  rP  rM  rO  rQ  rA  rR  r?  r@  rS  rR  rA  rj  rk  rl  rP  r\   rT  rU  ri  Fz
2011-01-02z
2011-01-03Tr^  rD  rW   )r,   rI  r   	is_busdayzerosr'  rf  s      r4   test_datetime_is_busdayz$TestDateTime.test_datetime_is_busdayE	  s    
 XF 	R\\,/7R\\,/7R\\,/6 	R\\(c:XXc(m37	9r6   c                    t        j                  d      }t        |j                  t         j                        d       t        j                  d      }t        |j                  t         j                        d       t        t              5  t        j                  d      }t        |j                  t         j                        d       d d d        t        t              5  t        j                  d      }t        |j                  t         j                        d       d d d        t        j                  d      }t        t        |      d       y # 1 sw Y   xY w# 1 sw Y   @xY w)N2038-01-19T03:14:07iz2038-01-19T03:14:08l        z2038-01-19T04:14:07+0100z2038-01-19T04:14:08+0100z2038-01-20T13:21:14)r,   r    r   r  r   r   r   r.   r   s     r4   test_datetime_y2038z TestDateTime.test_datetime_y2038V	  s    MM/0QVVBHH%y1MM/0QVVBHH%u- ,-89A)95 . ,-89A)51 .
 MM/0SV23 .- .-s   ?E"?E E E)c                    t        t        j                  t        j                  dd                   t        t        j                  t        j                  dd                   t        t        j                  t        j                  d                    t        t        j                  t        j                  dd                   t        t        j                  t        j                  dd                    t        j
                  g d      }dD ]  }t        j
                  g dd	|z  
      }t        t        j                  |      |       t        j
                  g dd|z  
      }t        t        j                  |      |       t        j
                  g dd|z  
      }t        t        j                  |      |       t        j
                  g dd|z  
      }t        t        j                  |      |        y )Nr\   r   r   ry  "   FFTr   r   r   r   r   r   r   r   r   r   r   r   r   r   ir\   <datetime64[%s]rW   >datetime64[%s]<timedelta64[%s]>timedelta64[%s])r   r,   isnatr    r^   rX   r   )r0   r  r1   rn   s       r4   
test_isnatzTestDateTime.test_isnatj	  sT   ud345ud345BHHR]]+@ABBCt456BHHR^^B5667hh+,-D ((-5F5MNC#,((-5F5MNC#,((-5G$5NOC#,((-5G$5NOC#,-r6   c           	          t         j                  d   D ]K  }|t         j                  d   v rt        t        t         j                  t        j
                  d|             M y )NAllDatetimer   )r,   	typecodesr   r/   r  rv  r  s     r4   test_isnat_errorzTestDateTime.test_isnat_error	  sC    e$ABLL,,)RXXrxxA? %r6   c                    t        t        j                  t        j                  dd                    t        t        j                  t        j                  dd                    t        t        j                  t        j                  d                   t        t        j                  t        j                  dd                    t        t        j                  t        j                  dd                   y )Nr\   r   r   ry  r|  )r   r,   isfiniter    r^   rI   s    r4   test_isfinite_scalarz!TestDateTime.test_isfinite_scalar	  s    BKKeT :;;<BKKeT :;;<BMM*?@ABBKKud ;<<=BNN2t456r6   r~  dstr)r  r  r  r  c                    g d}t        j                  |||z        }t        j                  g d      }t        j                  g d      }t        j                  g d      }t        t        j                  |      |       t        t        j                  |      |       t        t        j
                  |      |       y)zLcheck isfinite, isinf, isnan for all units of <M, >M, <m, >m dtypes
        r  rW   )TTFr}  )FFFN)r,   rX   r   r  isinfisnan)r0   r1   r  arr_valrn   posnegfalses           r4   test_isfinite_isinf_isnan_unitsz,TestDateTime.test_isfinite_isinf_isnan_units	  s     %hhwt4hh+,hh,-/0R[[%s+RXXc]E*RXXc]C(r6   c                 |    t        t        t        t        j                  d      t        j
                  d             y )Nr   )r   AssertionErrorr   r,   r    r^   rI   s    r4   test_assert_equalzTestDateTime.test_assert_equal	  s%    nle$bnnU&;	=r6   c                     g g }}|j                  |       |j                  |       t        j                  d g      }||d<   t        t        |j
                  d       t        t        |j
                  d       y )Nr   r   r$   )appendr,   rX   r   r   r   )r0   r   r   obj_arrs       r4   test_corecursive_inputz#TestDateTime.test_corecursive_input	  s\    21		((D6"
 	j'..$7j'..$7r6   r  rT  )rU   c                    t        j                  dt              j                  |      }t        j                  dd      j                  |      }|j                  t        j                  d      k(  sJ t        |j                  d      |       t        j                  d      |d<   t        |j                  d      |       |j                  d      }t        |j                  d      j                  d      |       y )Nz
2020-10-10rW   r   r"   .r  )r,   rX   r^  reshaper-   r   r   r  )r0   r  rn   r  s       r4    test_discovery_from_object_arrayz-TestDateTime.test_discovery_from_object_array	  s    hh|62::5Ahh|4088?yyBHHW----SZZ%s+99\*CSZZ%s+jjoSZZ_++D137r6   	time_unit)r   r   r   r   r   r   r   r   r   r   r   r   r   10D2Mc                 V   t        j                  d|      }t        j                  t        j                  t         j                        j                  |      }t        j                  t        j                  t         j                        j                   |      }||cxk  r|k  sJ  J y)zY
        Dates should have symmetric limits around the unix epoch at +/-np.int64
        r   N)r,   r    iinfor   max)r0   r  epochlatestearliests        r4   test_limit_symmetryz TestDateTime.test_limit_symmetry	  sx     a+rxx155yA=="((288"4"8"8!8)D %(&(((((r6   r   zgh-13197)marksr   r   r   r   r   r  zsimilar to gh-13197ry  c                     t        j                  t        j                  t         j                        j                  |z  |      }t        j                  t        |      |      }||k(  sJ y)z
        Limits should roundtrip when converted to strings.

        This tests the conversion to and from npy_datetimestruct.
        N)r,   r    r  r   r  r.   )r0   r  ry  limitlimit_via_strs        r4   test_limit_str_roundtripz%TestDateTime.test_limit_str_roundtrip	  sP     bhhrxx044t;YG c%j)<%%%r6   N)l__name__
__module____qualname__r5   rJ   rS   r  markparametrizerZ   r_   ro   rq   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r&  r1  r5  rA  rH  rO  rY  r_  ra  rp  rt  r  r  r  r  r,   r^   rX   r   r  skipifr   r  minr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  	_has_pytzr	  r  r  r  r  r  r  r  r  r#  r(  r.  r=  rK  rg  rs  rw  rz  r  r  r  r  r  r  r  r  paramxfailr  rT  r6   r4   r   r      s   (?TG@RJ< [[V &1 2121D [[V & BB [[V & BB [[_			 
!	 	" 
		 




	/
   [[W ' $!&$J,X9#4J [[V &" #.#.T9l''AN(`/;b%LN0,9E$$#L [[\GW+=>< ?< [[gw/!457*7* [[\GW+=>[[[3*5' 6 ?':7:"=8K%CN,#BJO<B|	6&PD7LI:V6#p [[_	3		3		
	 
3		C	 		 
3		C	 		 
3		C	 	
	 
					 
3		c	"	
	 
)4	(	1#T	"	)288	,	.5/
 <&=<& [[(FG[[Z	D	!	4	 	" 
		D	!	# 
*..	/			*
 1 H1 [[\ 	 	,
 '' [[\ 
3		3		!	3		3		!,
  [[Z	3		3		! 
3		C	 	" 
3		C	 	" 
3		C	 	" 
				 
3		c	"	$ 
)4	(	1#T	"	$)*
 .1/.1 [[(?@[[Z 
D	!	4	 	" 
		D	!	# 
*..	/			*
 ' A'?2B> 009Ev(
>
>
@
@
?ACEA"<HQPf'$hT [[I.QR%# S%#N'8R0
8$ [[3	3		3		3		! 
3		C	 	C	 	" 
C	 	3		3		! 
C	 	C	 	C	 	" 
C	 	C	 	3		! 
3		C	 	3		! 
4	 	T	"	T	"	$ 
		D	!			  
3		C	 	3		!?"6
 "F,G"F, [[\ 
3		3		!	3		3		!,
  [[(FG8 H8
 [[\ 
3					3		!,
 4
	-7+;+z LDf)P3;l9"4(-*@7 [[V &D E[[V &N O
)OE
)=8 [[Wr4j18 28 [[[ + 
	)
	) [[[SS 1 1 1 DES#T4tT4U&++"3"3;P"3"QR+  [[Vb!W-& .&r6   r   c                       e Zd Zd Zd Zd Zy)TestDateTimeDatac                     t        j                  dgt         j                        }t        t        j                  |j
                        d       y )Nz
1980-03-23rW   )r   rU   )r,   rX   r    r   datetime_datar-   r   s     r4   
test_basiczTestDateTimeData.test_basic	  s1    HHl^2==9R%%agg.9r6   c                     t        j                  dd      }t        j                  |j                        dk(  sJ t        j                  dd      }t        j                  |j                        dk(  sJ y )Nr]   )s   msr   )r   r   s   5msr,   r    r  r-   rG  s     r4   
test_byteszTestDateTimeData.test_bytes	  \    ]]6:.)Y666]]66*)Y666r6   c                     t        j                  dd      }t        j                  |j                        dk(  sJ t        j                  dd      }t        j                  |j                        dk(  sJ y )Nr]   )r   r   )r   r   u   5μsr  rG  s     r4   test_non_asciizTestDateTimeData.test_non_ascii	  r  r6   N)r  r  r  r  r  r  rT  r6   r4   r  r  	  s    :77r6   r  c                      G d d      }  |        }t        j                  dd      }||z
  }||fD ]  }|j                  |      t        u sJ |j	                  |      t        u sJ |j                  |      t        u sJ |j                  |      t        u sJ |j                  |      t        u sJ |j                  |      t        u rJ  y )Nc                       e Zd ZdZy)7test_comparisons_return_not_implemented.<locals>.customi'  N)r  r  r  __array_priority__rT  r6   r4   customr  	  s    "r6   r  r]   r   )	r,   r    __eq__NotImplemented__ne____le____lt____ge____gt__)r  objr   tdr  s        r4   'test_comparisons_return_not_implementedr  	  s    # # (C	vt	$B	bBR{{3>111{{3>111{{3>111{{3>111{{3>111{{3>111 r6   )rS  r,   r   r  numpy.testingr   r   r   r   r   r   r	   r
   numpy.compatr   pytzr   r  r  ImportErrorRecursionError	NameErrorRuntimeErrorr   r  r  rT  r6   r4   <module>r     s         
  #I"
D'& D'&NN7 7.2OO  I
  "!N"s"   A A AAA&%A&