
    Mh                        S SK Jr  S SKJrJrJr  S SKJr  S SKJr  S SK	r	S SK
r	S SK
Jr  S SKrS SKrS SKrS SKJrJrJr  S SKrS SKJrJrJrJrJrJr  S SKJr  S S	KJ r    " S
 S5      r! " S S5      r"g)    )annotations)datetime	timedeltatimezone)partial)
attrgetterN)gettz)OutOfBoundsDatetimeastype_overflowsafe	timezones)DatetimeIndexIndex	Timestamp
date_rangeoffsetsto_datetime)period_arrayc                     \ rS rSrS rS rS rS rS r\	R                  R                  S\" SS	S
S9\R                  " SS	S9/5      S 5       rS rS rS rS rS r\	R                  R                  SSS0SS0SSS./5      S 5       r\	R                  R                  SSS0SS0SSS./5      S 5       rS rS rS rS rS r\	R                  R                  S S!/\" S"S#S#5      //5      S$ 5       rS% rS& rS' r \	R                  R                  S(S)S*/5      S+ 5       r!S, r"S- r#\	R                  R                  S\$\%RL                  \%RN                  /5      S. 5       r(S/ r)S0 r*\	R                  R                  SS1S2\+RX                  " S25      \-" S3S2S49R\                  /5      S5 5       r/\	R                  R                  S/ S6Q5      S7 5       r0S8 r1\	R                  R                  S9\2\3/5      \	R                  R                  S:\%Rh                  \5" \%Rh                  \$S;9\6/5      \	R                  R                  S<S=S>/5      S? 5       5       5       r7S@ r8SA r9SB r:SC r;SD r<SE r=SF r>SG r?SH r@\	R                  R                  S\+RX                  " SI5      \A" SI5      /5      SJ 5       rB\	R                  R                  SKSISL/5      SM 5       rCSN rD\	R                  R                  SOSPSQ/5      SR 5       rE\	R                  R                  SKSISL/5      SS 5       rF\	R                  R                  S\+RX                  " SI5      \A" SI5      /5      \	R                  R                  STSUSV/5      \	R                  R                  SW\-\3/5      SX 5       5       5       rG\	R                  R                  S/ SYQ5      SZ 5       rHS[ rIS\ rJ\	R                  R                  SS]S^/5      S_ 5       rKS`rLg1)aTestDatetimeIndex%   c                    Sn[         R                  " [        US9   [        / SS9  S S S 5        g ! , (       d  f       g = f)NzThe 'closed' keywordmatchT)closedtmassert_produces_warningFutureWarningr   selfmsgs     b/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/datetimes/test_constructors.pytest_closed_deprecated(TestDatetimeIndex.test_closed_deprecated&   s.    $''SA"T* BAA   0
>c                    Sn[         R                  " [        US9   [        / SS9  S S S 5        g ! , (       d  f       g = f)NzThe 'normalize' keywordr   T)	normalizer   r   s     r"   test_normalize_deprecated+TestDatetimeIndex.test_normalize_deprecated,   s.    '''SA"- BAAr%   c                    [         R                  " SS5      n[        U/SS9n[        UR                  S5      /SS9n[        R
                  " X#5        g )N   D
US/PacifictzM8[s])np
datetime64r   astyper   assert_index_equal)r    valresultexpecteds       r"   test_from_dt64_unsupported_unit1TestDatetimeIndex.test_from_dt64_unsupported_unit2   sF    mmAs#u6 #**W"5!6<H
f/    c                   [        SSSS9nSn[        R                  " [        US9   [	        US S9  S S S 5        [        R                  " [        US9   [	        [
        R                  " U5      S S9  S S S 5        Sn[        R                  " [        US9   [	        / S	S S
9  S S S 5        g ! , (       d  f       N~= f! , (       d  f       NO= f! , (       d  f       g = f)N
2016-01-01
   UTCperiodsr/   z:Passed data is timezone-aware, incompatible with 'tz=None'r   r.   z3Cannot pass both a timezone-aware dtype and tz=NoneM8[ns, UTC]dtyper/   )r   pytestraises
ValueErrorr   r1   arrayr    dtir!   s      r"   test_explicit_tz_none'TestDatetimeIndex.test_explicit_tz_none:   s    re<J]]:S1#$' 2 ]]:S1"((3-D1 2 D]]:S1"Md; 21 21 21 21s#   B*B;C*
B8;
C	
Cc                t   Sn[         R                  " [        US9   [        [        R
                  [        S5      /SS9  S S S 5        [         R                  " [        US9   [        [        R
                  [        S5      R                  /SS9  S S S 5        g ! , (       d  f       N^= f! , (       d  f       g = f)NQInferred frequency None from passed values does not conform to passed frequency Dr   
2011-01-01r,   freq)rD   rE   rF   r   pdNaTr   _valuer   s     r"   test_freq_validation_with_nat/TestDatetimeIndex.test_freq_validation_with_natI   s}    $ 	 ]]:S12669\#:;#F 2]]:S12669\#:#A#ABM 21 2111s   $B!.B)
B&)
B7indexr<      r-   r?   z1 Dayr@   c                    UR                   nU/ SQ   nUR                  b   eUR                  U5      nUR                  b   eg )N)r            r+   )_datarP   _shallow_copy)r    rV   rG   arrr6   s        r"   %test_shallow_copy_inherits_array_freq7TestDatetimeIndex.test_shallow_copy_inherits_array_freqV   sG     O$xx$$S){{"""r:   c                @   [        [        R                  SSS/SS9nXR                  4 Hq  n[        R                  " U5      n[        R
                  " U5      n[        R                  " U5      nX4U4 H$  n[        U5      n[        R                  " Xq5        M&     Ms     g )Nz
2015-01-01z1999-04-06 15:14:13
US/Easternr.   )	r   rQ   rR   r]   CategoricalIndexCategoricalSeriesr   r4   )r    rI   dtobjcicarrcserobjr6   s           r"   test_categorical_preserves_tz/TestDatetimeIndex.test_categorical_preserves_tzh   s    VV\#8,GL
 99%E $$U+B>>%(D99R=D$'&s+%%f2 ( &r:   c                F   [         R                  " SS/SS9n[        R                  " [        SS9   [        U5        S S S 5        [        R                  " [        SS9   [        U5        S S S 5        [        R                  " [        SS9   [        [        U5      5        S S S 5        [        R                  " [        SS9   [        [        U5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ng= f! , (       d  f       g = f)N2016Q12016Q2QrO   zPeriodDtype data is invalidr   )rQ   PeriodIndexrD   rE   	TypeErrorr   r   r   )r    datas     r"    test_dti_with_period_data_raises2TestDatetimeIndex.test_dti_with_period_data_raisesy   s    ~~x2=]]9,IJ$ K ]]9,IJ K ]]9,IJ,t,- K ]]9,IJT*+ KJ KJ KJ KJ KJs/   CC0DD
C-0
C>
D
D c                t   [         R                  " S/SS9nSn[        R                  " [        US9   [        U5        S S S 5        [        R                  " [        US9   [        U5        S S S 5        [        R                  " [        US9   [        [        R                  " U5      5        S S S 5        [        R                  " [        US9   [        [        R                  " U5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nr= f! , (       d  f       g = f)Nr   zm8[ns]rC   z3timedelta64\[ns\] cannot be converted to datetime64r   )	r1   rG   rD   rE   rs   r   r   rQ   TimedeltaIndexr    rt   r!   s      r"   %test_dti_with_timedelta64_data_raises7TestDatetimeIndex.test_dti_with_timedelta64_data_raises   s    xx8,D]]9C0$ 1 ]]9C0 1 ]]9C0"++D12 1 ]]9C0))$/0 10 10 10 10 10s/   C6D D D)6
D
D
D&)
D7c                    [        S5      [        S5      /n[        R                  R                  U5      n[	        U5      n[        U5      [        L d   eUR                  UR                  :X  d   eg )Nz2012-05-01T01:00:00.000000z2016-05-01T01:00:00.000000)r   rQ   arraysSparseArrayr   typerC   )r    valuesr_   r6   s       r"   "test_constructor_from_sparse_array4TestDatetimeIndex.test_constructor_from_sparse_array   sd     2323
 ii##F+sF|u$$$||syy(((r:   c                   [         R                  " [        SSS9[        SSSS9[        S5      [         R                  [        S5      /[        SSSS9S	.5      nUR
                  R                  R                  R                  S:X  d   eg )
N20130101rZ   rX   rc   r?   20130103ns)r@   rP   )dtdttzdt_with_nulldtns)	rQ   	DataFramer   r   rR   r   rC   r/   zone)r    dfs     r"   test_construction_caching+TestDatetimeIndex.test_construction_caching   sy    \\ Q7":q\Jj)FFj)!
 #:qtD	
 ww}}$$444r:   kwargsr/   zdtype.tzrC   rB   c                    Un[        SSSUS9nUR                  5        VVs0 s H  u  pVU[        U5      " U5      _M     nnn[        U40 UD6n[        R
                  " XG5        g s  snnf )Nr   rW   hr@   rP   r/   )r   itemsr   r   r   r4   )r    r   tz_aware_fixturer/   ikeyr5   r6   s           r"   test_construction_with_alt,TestDatetimeIndex.test_construction_with_alt   sf    
 z132>:@,,.I.hc#z#q)).Iq+F+
a( Js   A&c                   Un[        SSSUS9nUR                  S 5      nUR                  5        VVs0 s H  u  pVU[        U5      " U5      _M     nnnSU;   aH  [	        UR
                  SS9R                  US   5      n[	        U40 UD6n[        R                  " Xx5        [	        UR                  S 5      R
                  SS9n	UR                  S 5      R                  S5      n[        R                  " X5        Sn
[        R                  " [        U
S	9   [	        UR                  S 5      R
                  UR                  S
S9  S S S 5        g s  snnf ! , (       d  f       g = f)Nr   rW   r   r   r/   r>   r.   -cannot supply both a tz and a dtype with a tzr   r-   rB   )r   
_with_freqr   r   r   asi8
tz_convertr   r4   tz_localizerD   rE   rF   rC   )r    r   r   r/   r   r   r5   r6   r7   i2r!   s              r"   &test_construction_with_alt_tz_localize8TestDatetimeIndex.test_construction_with_alt_tz_localize   s#   
 z132>LL:@,,.I.hc#z#q)).I6>"166e4??tMF$Q1&1H!!&3 1==.33>==&2259
b+ >]]:S1!---22!''lS 21 J 21s   E/E
E"c                   [        [        S5      [        S5      /SS9n[        [        S5      [        S5      /SS9n[        R                  " XSS9  [        U[        5      (       d   eUR                  b   e[        [        SSS	9[        S
SS	9/SS9n[        [        S5      [        S
5      /SSS9n[        R                  " XSS9  [        U[        5      (       d   eUR                  c   eUR                  UR                  :X  d   e[        [        SSS	9[        SSS	9/SS9n[        [        S5      [        S5      /SSS9n[        R                  " XSS9  [        U[        5      (       d   eUR                  c   eUR                  UR                  :X  d   e[        [        S5      [        S
SS	9/SS9n[        [        S5      [        S
SS	9/SSS9n[        R                  " XSS9  [        U[        5      (       a   e[        [        SSS	9[        S
SS	9/SS9n[        [        SSS	9[        S
SS	9/SSS9n[        R                  " XSS9  [        U[        5      (       a   eSnSn[        R                  " [        US9   [        R                  " [        US9   [        SS/5        S S S 5        S S S 5        [        [        S5      /SS9n[        [        S5      /SS9n[        R                  " XSS9  [        U[        5      (       d   eUR                  b   e[        [        SSS	9/SS9n[        [        S5      /SSS9n[        R                  " XSS9  [        U[        5      (       d   eUR                  c   eUR                  UR                  :X  d   eg ! , (       d  f       N= f! , (       d  f       GN= f)NrN   
2011-01-02idxnameTexact2011-01-01 10:00
Asia/Tokyor.   2011-01-02 10:00r/   r   rc   2011-08-01 10:00objectrC   r   z!DatetimeIndex has mixed timezonesz;parsing datetimes with mixed time zones will raise an errorr   z2013-11-02 22:00-05:00z2013-11-03 22:00-06:00)r   r   r   r   r4   
isinstancer/   rD   rE   rs   r   r   )r    r6   expr!   msg_deprs        r"   ,test_construction_index_with_mixed_timezones>TestDatetimeIndex.test_construction_index_with_mixed_timezones   s   	,/<1HIPUV|$i&=>U
 	f6&-0000yy    ,>,> 
 )*I6H,IJ

 	f6&-0000yy$$$yyCFF""" ,>,> 
 )*I6H,IJ

 	f6&-0000yy$$$yyCFF""" ,-,> 
 ,-,> 
 	f6fm4444,>,> 
 ,>,> 
 	f6fm44441P]]9C0++MJ79QRS K 1
 	,/0u=Y|45EB
f6&-0000yy    	"4FGeT)*+5
 	f6&-0000yy$$$yyCFF"""% KJ 10s$   N1N -N1 
N.	*N11
O c           
        [        [        R                  [        S5      [        R                  [        S5      /SS9n[	        [        R                  [        S5      [        R                  [        S5      /SS9n[
        R                  " XSS9  [        U[        5      (       d   eUR                  b   e[        [        R                  [        SSS	9[        R                  [        S
SS	9/SS9n[	        [        R                  [        S5      [        R                  [        S
5      /SSS9n[
        R                  " XSS9  [        U[        5      (       d   eUR                  c   eUR                  UR                  :X  d   e[        [        SSS	9[        R                  [        SSS	9/SS9n[	        [        S5      [        R                  [        S5      /SSS9n[
        R                  " XSS9  [        U[        5      (       d   eUR                  c   eUR                  UR                  :X  d   e[        [        R                  [        S5      [        R                  [        S
SS	9/SS9n[        [        R                  [        S5      [        R                  [        S
SS	9/SSS9n[
        R                  " XSS9  [        U[        5      (       a   e[        [        R                  [        SSS	9[        R                  [        S
SS	9/SS9n[        [        R                  [        SSS	9[        R                  [        S
SS	9/SSS9n[
        R                  " XSS9  [        U[        5      (       a   e[        [        R                  [        R                  /SS9n[	        [        R                  [        R                  /SS9n[
        R                  " XSS9  [        U[        5      (       d   eUR                  b   eg )NrN   r   r   r   Tr   r   r   r.   r   r   rc   r   r   r   )	r   rQ   rR   r   r   r   r4   r   r/   )r    r6   r   s      r"   5test_construction_index_with_mixed_timezones_with_NaTGTestDatetimeIndex.test_construction_index_with_mixed_timezones_with_NaTB  s   VVY|,bffi6MN
 VVY|,bffi6MN
 	f6&-0000yy    ,>,>	 
 ,-,-	 	
 	f6&-0000yy$$$yyCFF""" ,>,>
 
 )*BFFI>P4QR

 	f6&-0000yy$$$yyCFF""" ,-,>	 
 ,-,>	 	
 	f6fm4444,>,>	 
 ,>,>	 	
 	f6fm4444 'e4RVVRVV,59
f6&-0000yy   r:   c           	        [        [        S5      [        S5      /SS9n[        [        S5      [        S5      /SS9n[        R                  " XSS9  [	        U[         5      (       d   e[        [        SSS	9[        S
SS	9/SS9n[        [        S5      [        S
5      /SSS9n[        R                  " XSS9  [	        U[         5      (       d   e[        [        SSS	9[        SSS	9/SS9n[        [        S5      [        S5      /SSS9n[        R                  " XSS9  [	        U[         5      (       d   eSn[
        R                  " [        US9   [        [        SSS	9[        S
SS	9/SS9  S S S 5        [        [        S5      [        S
SS	9/SSS9n[        [        SSS	9[        S
SS	9R                  S5      /SSS9n[        R                  " XE5        [        [        SSS	9[        S
SS	9/SSS9n[        [        SSS	9R                  S5      [        S
SS	9/SSS9n[        R                  " XE5        [        [        SSS	9[        S
SS	9/SSS9n[        R                  " XE5        g ! , (       d  f       GN= f)NrN   r   r   r   Tr   r   r   r.   r   r   rc   r   z!cannot be converted to datetime64r   zM8[ns, US/Eastern]r   )	r   r   r   r4   r   rD   rE   rF   r   )r    r6   r   r!   rI   r7   s         r"   *test_construction_dti_with_mixed_timezones<TestDatetimeIndex.test_construction_dti_with_mixed_timezones  s    |$i&=>U
 |$i&=>U
 	f6&-0000 ,>,> 
 )*I6H,IJ

 	f6&-0000 ,>,> 
 )*I6H,IJ

 	f6&-0000 2]]:S10\B0\B  2 ,-,> 
 !,>,>II,W 
 	c, ,>,> 
 !,>II,W,> 
 	c, ,>,> '
 	c,w 21s   I**
I9c                   [        S5      [        R                  [        S5      /n[        R                  " [        U5      [        U5      5        [        R                  " [        [        R                  " U5      5      [        [        R                  " U5      5      5        [        R                  [        R                  [        S5      /n[        R                  " [        U5      [        U5      5        [        R                  " [        [        R                  " U5      5      [        [        R                  " U5      5      5        g )NrN   z
2011-01-03)
r   rQ   rR   r   r4   r   r   r1   rG   nan)r    r_   s     r"   "test_construction_base_constructor4TestDatetimeIndex.test_construction_base_constructor  s    &	,0GH
eCj-*<=
eBHHSM2M"((3-4PQvvrvvy67
eCj-*<=
eBHHSM2M"((3-4PQr:   c                D   [        SSS5      [        SSS5      [        SSS5      [        SSS5      /n[        U[        S9n[        R                  " [        U5      U5        Sn[
        R                  " [        US9   [        U5        S S S 5        g ! , (       d  f       g = f)	Ni  r+   i  i  ip  rx   zH^Out of bounds nanosecond timestamp: 3000-01-01 00:00:00, at position 0$r   )	r   r   r   r   r4   rD   rE   r
   r   )r    datesr   r!   s       r"   test_construction_outofbounds/TestDatetimeIndex.test_construction_outofbounds&  s     T1a T1a T1a T1a 	
 E(
eElC0X]].c:%  ;::s   <B
Brt   z
1400-01-01ix  r+   c                    Sn[         R                  " [        US9   [        U5        S S S 5        g ! , (       d  f       g = f)NzK^Out of bounds nanosecond timestamp: 1400-01-01( 00:00:00)?, at position 0$r   )rD   rE   r
   r   rz   s      r"   test_dti_date_out_of_range,TestDatetimeIndex.test_dti_date_out_of_range7  s1    5 	 ]].c:$ ;::s   1
?c                   [        SSS5      [        SSS5      [        SSS5      /n[        U[        R                  " 5       S9R                  n[        U[        R                  " 5       S9n[        / SQSS9n[
        R                  " X45        g )	Ni  r=         	   rO   )z
2013-10-07z
2013-10-08z
2013-10-09B)r   r   r   BDayr   r   r4   )r    r   rt   r6   r7   s        r"   test_construction_with_ndarray0TestDatetimeIndex.test_construction_with_ndarrayA  sp    $A&r1(=xbRS?TUU8??t',,.9 !KRUV
f/r:   c                   [         R                  " SS5      n[         R                  " UR                  S5      /5      n[	        U5      R                  S5      n[	        S/SS9n[        R                  " X45        [        R                  " S 5         [	        USS	9nS S S 5        [	        S/S
S9n[        R                  " X45        g ! , (       d  f       N0= f)Nz2000-01-01 00:00:00r   i8
US/Centralz2000-01-01T00:00:00zM8[ns, US/Central]rx   r>   r.   rA   )	r1   r2   rG   viewr   r   r   r4   r   )r    r5   r   r6   r7   s        r"   -test_integer_values_and_tz_interpreted_as_utc?TestDatetimeIndex.test_integer_values_and_tz_interpreted_as_utcI  s    mm148388D>*+v&22<@ "7!8@TU
f/ ''-"6e4F . "7!8N
f/ .-s   C
Cc           
        Sn[         R                  " [        US9   [        S5        S S S 5        S [	        S5       5       n[        U5      n[        [	        S5       Vs/ s H  n[        SSS5      [        U5      -   PM     sn5      n[        R                  " X55        [        R                  " / SQ5      n[        U5      n[        UR                  S	5      5      n[        R                  " X55        [        UR                  5      n[        R                  " Xu5        [        R                  " / S
Q5      n[        U5      n[        UR                  S	5      5      n[        R                  " X55        [        UR                  5      n[        R                  " Xu5        Sn[         R                  " [        US9   [        / SQSS9  S S S 5        g ! , (       d  f       GN= fs  snf ! , (       d  f       g = f)Nz8DatetimeIndex\(\.\.\.\) must be called with a collectionr   1/1/2000c              3  T   #    U  H  n[        S SS5      [        U5      -   v   M      g7f)  r+   N)r   r   ).0r   s     r"   	<genexpr>>TestDatetimeIndex.test_constructor_coverage.<locals>.<genexpr>_  s"     FIqxa#il2Is   &(r=   r   r+   )
2000-01-01
2000-01-02z
2000-01-03O)r   r   rR   rM   )r   r   z
2000-01-04r,   rO   )rD   rE   rs   r   ranger   r   r   r4   r1   rG   r3   r   rF   )r    r!   genr6   r   r7   strings	from_intss           r"   test_constructor_coverage+TestDatetimeIndex.test_constructor_coverageY  st   I]]9C0*% 1 GE"IFs# :?)D)QXdAq!IaL0)D
 	f/ ((EFw' !45
f/!(--0	
i2 ((>?w' !45
f/!(--0	
i2$ 	 ]]:S1D3O 21E 10 E6 21s   G#G6G#
G#
G1rP   YSzW-SUNc                   [        SSUS9n[        SSU[        [        SS95      S9n[        R                  " X#5        [        SSUS	S9n[        R
                  " UR                  UR                  5        [        S
SUS9n[        SSU[        [        SS95      S9n[        R                  " X#5        [        SSUSS9n[        R
                  " UR                  UR                  5        [        SSUS9n[        SSU[        [        SS95      S9n[        R                  " X#5        [        SSUS	S9n[        R
                  " UR                  UR                  5        [        SSUS9n[        SSU[        [        SS95      S9n[        R                  " X#5        [        SSUSS9n[        R
                  " UR                  UR                  5        g )Nz2013-01-01T00:00:00-05:00z2016-01-01T23:59:59-05:00rO   z2013-01-01T00:00:00z2016-01-01T23:59:59i)minutesrP   r/   zAmerica/Limaz2013-01-01T00:00:00+09:00z2016-01-01T23:59:59+09:00i  r   z2013/1/1 0:00:00-5:00z2016/1/1 23:59:59-5:00z2013/1/1 0:00:00+9:00z2016/1/1 23:59:59+09:00)r   r   r   r   r4   assert_numpy_array_equalr   )r    rP   r   r7   expected_i8s        r"   $test_constructor_datetime64_tzformat6TestDatetimeIndex.test_constructor_datetime64_tzformat  s    ')D4
 !!	$/0	
 	c, !#8t
 	##CHHk.>.>?')D4
 !!	#./	
 	c, !#8t
 	##CHHk.>.>? 02JQUV!!	$/0	
 	c, !#8t
 	##CHHk.>.>?02KRVW!!	#./	
 	c, !#8t
 	##CHHk.>.>?r:   c                    [        SS/SS9n[        SS/5      R                  S5      R                  S5      n[        R                  " X5        [        SS/SS9R                  S5      n[        R                  " X5        g )N
2013-01-01
2013-01-02datetime64[ns, US/Eastern]rx   r   rc   r.   )r   as_unitr   r   r4   )r    r   r7   s      r"   test_constructor_dtype(TestDatetimeIndex.test_constructor_dtype  sy    <(0L
 <67WT][& 	
 	c,\<8\JRRSWX
c,r:   c                   [        SS/SS9nSn[        R                  " [        US9   [        USS9  S S S 5        Sn[        R                  " [        US9   [        US	S9  S S S 5        S
n[        R                  " [        US9   [        USSS9  S S S 5        [        USS9n[
        R                  " X5        g ! , (       d  f       N= f! , (       d  f       No= f! , (       d  f       NQ= f)Nr   r   r   rx   zNcannot supply both a tz and a timezone-naive dtype \(i\.e\. datetime64\[ns\]\)r   datetime64[ns]zDdata is already tz-aware US/Eastern, unable to set specified tz: CETzdatetime64[ns, CET]r   CET)r/   rC   )r   rD   rE   rF   rs   r   r4   )r    r   r!   r6   s       r"   )test_constructor_dtype_tz_mismatch_raises;TestDatetimeIndex.test_constructor_dtype_tz_mismatch_raises  s    <(0L

+ 	 ]]:S1#%56 2 U]]9C0#%:; 1=]]:S1#%/KL 2 s*FG
c* 21
 10 21s#   B9C
C9
C

C
C)c                    Sn[         R                  " [        US9   [        SS/US9  S S S 5        g ! , (       d  f       g = f)NzUnexpected value for 'dtype'r   r+   r[   rx   )rD   rE   rF   r   )r    rC   r!   s      r"   %test_constructor_invalid_dtype_raises7TestDatetimeIndex.test_constructor_invalid_dtype_raises  s1     -]]:S11a&. 211s	   2
A c                p    [        S5      n[        U/5      nUR                  S   UR                  :X  d   eg )Nl   )b0Z4 r   )r   r   
nanosecond)r    t1r   s      r"   test_000constructor_resolution0TestDatetimeIndex.test_000constructor_resolution  s4    EFRD!~~a BMM111r:   c                    [        S/SS9nSn[        R                  " [        US9   [        R
                  " S5      Ul        S S S 5        g ! , (       d  f       g = f)N2010r>   r.   zCannot directly set timezoner   r-   )r   rD   rE   AttributeErrorpytzr   r/   rH   s      r"   test_disallow_setting_tz*TestDatetimeIndex.test_disallow_setting_tz  s?    VH/,]]>5]]<0CF 655s   A
ANAmerica/Los_Angeles2000r.   c                    [        SSS9n[        SSS9n[        SX#US9n[        SS/SSS9n[        R                  " XE5        [
        R                  " S5      UR                  L d   eg )	Nz2013-01-01 06:00:00r  r.   z2013-01-02 06:00:00r,   )rP   startendr/   zM8[ns, America/Los_Angeles])rC   rP   )r   r   r   r   r4   r  r   r/   )r    r/   r  r  r6   r7   s         r"   "test_constructor_start_end_with_tz4TestDatetimeIndex.test_constructor_start_end_with_tz  ss     /4IJ-2GHErB "$9:/

 	f/}}23vyy@@@r:   )r-   rc   r   c                    [        SUS9R                  n[        S/US9n[        R                  " U5      UR                  L d   eg )Nr  r.   )r   r/   r   r  r   )r    r/   non_norm_tzr6   s       r"   )test_constructor_with_non_normalized_pytz;TestDatetimeIndex.test_constructor_with_non_normalized_pytz  s?      2.11xK8}}R FII---r:   c                    [        SSS9[        SSS9/n[        U5      n[        US   R                  5       US   R                  5       /5      n[        R                  " X#5        g )Nz2016-10-30 03:00:00+0300zEurope/Helsinkir.   z2016-10-30 03:00:00+0200r   r+   )r   r   to_pydatetimer   r4   )r    tsr6   r7   s       r"   #test_constructor_timestamp_near_dst5TestDatetimeIndex.test_constructor_timestamp_near_dst  sf     05FG05FG
 r" "Q%"5"5"7A9L9L9N!OP
f/r:   klassboxrx   z	tz, dtype)r-   zdatetime64[ns, US/Pacific])Nr   c                    [        SUS9R                  S5      nU" U" UR                  /5      US9nU" U/5      nXg:X  d   eg )Nz
2018-01-01r.   r   rx   )r   r   rS   )r    r  r  r/   rC   r  r6   r7   s           r"   test_constructor_with_int_tz.TestDatetimeIndex.test_constructor_with_int_tz"  sI     |+33D9sBII;'u5";!!!r:   c                J    UnSn[        U/US9R                  S   nX4:X  d   eg )Nl     _S r.   r   )r   r   )r    tz_naive_fixturer/   r6   r7   s        r"   test_construction_int_rountrip0TestDatetimeIndex.test_construction_int_rountrip/  s1    $ &b166q9!!!r:   c           
         [        [        SSS5      [        SSS5      SSS9n[        U Vs/ s H  o"R                  SS	S
9PM     sn5      n[        / SQSS9n[        R
                  " X45        g s  snf )Nr           zYE-DECzAustralia/Melbourner      r+   )monthday)z2000-06-01 00:00:00z2001-06-01 00:00:00z2002-06-01 00:00:00z2003-06-01 00:00:00z2004-06-01 00:00:00z2005-06-01 00:00:00r.   )r   r   r   replacer   r4   )r    rV   xr6   r7   s        r"   3test_construction_from_replaced_timestamps_with_dstETestDatetimeIndex.test_construction_from_replaced_timestamps_with_dst7  sz    dB#dB#$	
 5I5a		q	 95IJ  %

 	f/  Js   A/c                    [        SSSS9nSn[        R                  " [        US9   [	        USS9  S S S 5        g ! , (       d  f       g = f)	Nr<   rZ   r   r?   z?data is already tz-aware US/Central, unable to set specified tzr   r   r.   )r   rD   rE   rs   r   rH   s      r"   *test_construction_with_tz_and_tz_aware_dti<TestDatetimeIndex.test_construction_with_tz_and_tz_aware_dtiM  s9    q\BO]]9C0#,/ 100s	   ;
A	c                    [         R                  R                  5       n[        SS/US9n[        [	        SUS9[
        R                  /5      n[        R                  " X#5        g )N2018rR   r.   )	dateutilr/   tzlocalr   r   rQ   rR   r   r4   )r    r/   r6   r7   s       r"   &test_construction_with_nat_and_tzlocal8TestDatetimeIndex.test_construction_with_nat_and_tzlocalT  sL    [[  "26 )Fr":BFF!CD
f/r:   c                   [        SS/SSSS9nSn[        SS	S
S
S9R                  USS9n[        USSS9n[        R
                  " XA5        Sn[        SS	SS
S9R                  USS9n[        USSS9n[        R
                  " XA5        g )Nz2020-11-01 01:00:00z2020-11-02 01:00:00z datetime64[ns, America/New_York]r,   F)rC   rP   	ambiguouszAmerica/New_Yorki     r+   )yearr&  r'  hour)r6  r[   )r  r@   r6  )r  r@   r6  )r   r   r   r   r   r4   )r    r7   r   r  r6   r  s         r"   +test_constructor_with_ambiguous_keyword_arg=TestDatetimeIndex.test_constructor_with_ambiguous_keyword_argZ  s     !"$9:4	
 &t211=II J 
 %eD
f/ &T;GG H 
 Q%@
f/r:   c                6   Un[        S5      R                  USS9n[        USSS9n[        [        SUS9[        S	US9/5      n[        R
                  " XE5        Un[        USSS
9n[        [        SUS9[        SUS9/5      n[        R
                  " XE5        g )Nz2015-03-29 02:30:00shift_forward)nonexistentr[   r   )r  r@   rP   z2015-03-29 03:00:00+02:00r.   z2015-03-29 04:00:00+02:00)r  r@   rP   z2015-03-29 01:00:00+01:00)r   r   r   r   r   r4   )r    warsawr   r  r6   r7   r  s          r"   -test_constructor_with_nonexistent_keyword_arg?TestDatetimeIndex.test_constructor_with_nonexistent_keyword_argt  s     /0<</ = 
 %= 5(C5(C
 	f/ QS9 5(C5(C
 	f/r:   c                   Sn[         R                  " [        US9   [        S/SS9  S S S 5        Sn[         R                  " [        US9   [	        S/SS9  S S S 5        g ! , (       d  f       N>= f! , (       d  f       g = f)Nz with no precision is not allowedr   r	  r2   rx   z2The 'datetime64' dtype has no unit. Please pass in)rD   rE   rF   r   r   r   s     r"   $test_constructor_no_precision_raises6TestDatetimeIndex.test_constructor_no_precision_raises  sd     1]]:S16(,7 2 C]]:S16(,/ 21	 21 21s   A A1 
A.1
A?c                j    [        S/SS9nUR                  S:X  d   eUS   [        SSS5      :X  d   eg )Nr	  zdatetime64[us]rx   M8[us]r   r   r+   )r   rC   r   )r    rI   s     r"   'test_constructor_wrong_precision_raises9TestDatetimeIndex.test_constructor_wrong_precision_raises  s>    VH,<=yyH$$$1v4A....r:   c           	         [        [        R                  " [        SSS9[        R                  /[
        S95      n[        [        SSS9[        R                  /5      n[        R                  " X5        g )N2019r>   r.   rx   )r   r1   rG   r   r   r   r   rQ   rR   r   r4   )r    r6   r7   s      r"   Htest_index_constructor_with_numpy_object_array_and_timestamp_tz_with_nanZTestDatetimeIndex.test_index_constructor_with_numpy_object_array_and_timestamp_tz_with_nan  sO    rxx6e!<bff EVTU )Fu"=rvv!FG
f/r:   rc   c                    [        SSSUS9/n[        U5      n[        R                  " UR                  U5      (       d   eg )N  r      )tzinfo)r   r   r   
tz_comparer/   )r    r/   drV   s       r"   test_dti_from_tzaware_datetime0TestDatetimeIndex.test_dti_from_tzaware_datetime  s<    dAr"-.a ##EHHb1111r:   tzstrzdateutil/US/Easternc                
   SS/n[        U5      R                  U5      n[        SSSUS9nUR                  S5      n[	        X!S9n[	        [
        R                  " U5      US9nXEU4 H  n[        R                  " X75        M     g)	zNTest different DatetimeIndex constructions with timezone
Follow-up of GH#4229
z11/10/2005 08:00:00z11/10/2005 09:00:00z2005-11-10 08:00:00r   r[   )r  rP   r@   r/   Nr.   )	r   r   r   r   r   r1   rG   r   r4   )r    rU  r_   idx1idx2idx3idx4others           r"   test_dti_tz_constructors*TestDatetimeIndex.test_dti_tz_constructors  s~    
 %&;<3++E2 5CuUt$S+RXXc]u5$'E!!$. (r:   c                ^    [        SSSSUS9n[        USS9n[        R                  " X#5        g )Nz03/12/2012 00:00r=   zW-FRIrc   )r@   rP   r/   unit)rt   r/   r   r   r   r4   )r    r_  rngrng2s       r"    test_dti_construction_idempotent2TestDatetimeIndex.test_dti_construction_idempotent  s4    \PT
 #,7
c(r:   prefix z	dateutil/c                X    [        [        SSS5      /US-   S9nUR                    US     g )NrN  r+   ESTr.   r   )r   r   r9  )r    re  rV   s      r"   "test_dti_constructor_static_tzinfo4TestDatetimeIndex.test_dti_constructor_static_tzinfo  s.     xa34%H

ar:   c                p    [        SSUSS9n[        [        U5      SSS9n[        R                  " X#5        g )Nz
2012-06-02r=   foo)r@   r/   r   r,   )r   rP   )r   r   listr   r4   )r    rU  drdr2s       r"   test_dti_convert_datetime_list0TestDatetimeIndex.test_dti_convert_datetime_list  s2    bUGDH5s;
b&r:   use_strTFbox_clsc                   SnUnU(       d  [        U5      R                  5       nU[         La  U/nU(       dW  [        U[        R                  R
                  5      (       a.  [        R                  R                  SS9nUR                  U5        [        R                  " [        R                  US9   U" XaS9  S S S 5        g ! , (       d  f       g = f)Nz2013-11-03 01:59:59.999999zWe implicitly get fold=0.)reasonr   r.   )r   r  r   r1  r/   tzfilerD   markxfailapplymarkerrE   r  AmbiguousTimeError)r    r/   rr  rs  requestdtstritemrw  s           r"   $test_dti_ambiguous_matches_timestamp6TestDatetimeIndex.test_dti_ambiguous_matches_timestamp  s     -U#113D)#6D:b(++*<*<==
 ;;$$,G$HD%]]422%@D  A@@s   2C
C)Nr>   r-   c                B   [        S5      nSnUb  SU S3nUSS/n[        XCS9nUS   R                  U5      [        US	   US
9[        US   SSS9R	                  U5      /nU Vs/ s H  owR                  S5      R                  PM     nn[        R                  " USS9n	[        U	SS9n
Ub   U
R                  S5      R	                  U5      n
[        R                  " XZ5        [        [        R                  " U[        S9US9n[        R                  " X5        g s  snf )Nz
2999-01-01rF  zM8[us, ]z2999-01-02 03:04:05.678910i	  rx   r   r+   r.   r[   usT)r_  utcr>   )r   r   r   r   r   r   asm8r1   rG   r   r4   r   )r    r/   r  rC   valsr6   	pointwiser)  exp_valsexp_arrr7   result2s               r"   (test_dti_constructor_with_non_nano_dtype:TestDatetimeIndex.test_dti_constructor_with_non_nano_dtype  s    |$>bTOE0$7t1
 G#d1g"%Qd5@@D
	
 3<<)QIIdO(()<((884 9>++E2==bAH
f/V <EJ
g0 =s   &$Dc                   [         R                  " 5       n[         R                  " 5       n[        SS/SS9nUR                  S:X  d   e[
        R                  " SS9nUS   UR                  S5      -
  nU[
        R                  " S5      :  d   eXT:  d   eUS   UR                  S5      -
  nU[
        R                  " S5      :  d   eXd:  d   eg )	Nnowtodayr0   rx   r+   )microsecondsr   s)r   r  r  r   rC   rQ   	Timedeltar   )r    r  r  r6   	tolerancediff0diff1s          r"   ,test_dti_constructor_with_non_nano_now_today>TestDatetimeIndex.test_dti_constructor_with_non_nano_now_today  s    mmo!w/w?||w&&& LLa0	q	CKK,,Q'''   q	EMM#..Q'''   r:   c                    [         R                  " S[         R                  /[         R                  S9nUR	                  [
        5      n[        USS9n[        USS9n[        R                  " X45        g )Nr   rx   r   r.   )	r1   rG   r   float64r3   r   r   r   r4   )r    r_   arr2dti1dti2s        r"   5test_dti_constructor_object_float_matches_float_dtypeGTestDatetimeIndex.test_dti_constructor_object_float_matches_float_dtype  sR    hh266{"**5zz&!SU+Te,
d)r:   rF  zM8[us, US/Pacific]c                   [         R                  " SSS9S-  n[        R                  R                  US'   UR                  [         R                  5      n[         R                  US'   UR                  [        5      n[        R                  US'   UR                  [        5      n[        X!S9n[        X1S9n[        XAS9n[        XQS9n	[        UR                  S5      5      n
UR                  b*  U
R                  S5      R                  UR                  5      n
[        R                  " Xj5        [        R                  " Xz5        [        R                  " X5        [        R                  " X5        g )NrW   r   rx     r   rF  r>   )r1   arangerQ   rR   valuer3   r  r   r   r   r   r/   r   r   r   r4   )r    rC   vals1vals2vals3vals4res1res2res3res4r7   s              r"   <test_dti_constructor_with_dtype_object_int_matches_int_dtypeNTestDatetimeIndex.test_dti_constructor_with_dtype_object_int_matches_int_dtype(  s    		!4(4/66<<aRZZ(66aV$ 66aV$U0U0U0U0 H!5677++E2==dggFH
d-
d-
d-
d-r:    )M__name__
__module____qualname____firstlineno__r#   r(   r8   rJ   rT   rD   rw  parametrizer   rQ   timedelta_ranger`   rl   ru   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   int32int64r   r   r  r  r   r   r/   r  r  r  r   r   rG   r   rm  r  r  r*  r-  r3  r:  r@  rC  rG  rK  r	   rS  r\  rc  ri  rp  r~  r  r  r  r  __static_attributes__r  r:   r"   r   r   %   s   +.0<
N [[|Q<@w2	
	#	#3", 1 	)5 [[

	gw/7*1UV)	) [[

	gw/7*1UVT	T,h#Tl!\k-ZR!" [[V|nxa7K6L%MN  O 00 %PN [[VdG_5;@ 6;@z-+0 [[Wvrxx&BC/ D/21 [[!MM/0f!67::		
AA [[T#MN. O.0 [[Wum&<=[[URXXwrxxv/NPT$UV[[	57OP"	 W >""0,00040<	0/
0 [[TDMM,$?|AT#UV2 W2 [[W|5J&KL/ M/) [[XK'89 : [[W|5J&KL' M'
 [[MM,',	
 [[Yu6[[YM(BC! D 7!* [[T#>?1 @14!&* [[Wx1E&FG. H.r:   r   c                      \ rS rSrS rS rS rS rS rS r	\
R                  R                  S/ S	Q5      S
 5       rS rS rSrg)TestTimeSeriesiG  c                h    [        SSSS9n[        U5      nUR                  UR                  :X  d   eg Nr   z1/2/20005minrO   )r   r   rP   )r    ra  rb  s      r"   &test_dti_constructor_preserve_dti_freq5TestTimeSeries.test_dti_constructor_preserve_dti_freqH  s0    Zf=S!xx499$$$r:   c                    [        SSSS9n[        US S9nUR                  b   e[        UR                  S S9nUR                  b   eg r  )r   r   rP   r]   )r    ra  r6   s      r"   test_explicit_none_freq&TestTimeSeries.test_explicit_none_freqN  sL    Zf=s.{{"""syyt4{{"""r:   c                    [        / SQ5      n[        R                  " / SQUS9n[        R                  " [        U5      U5        g )N)z1970-01-01 00:00:00.00000000z1970-01-01 00:00:00.00000001z1970-01-01 00:00:00.00000002)r   r=      rx   )r   r1   rG   r   r4   )r    any_int_numpy_dtyper   r_   s       r"   test_dti_constructor_small_int-TestTimeSeries.test_dti_constructor_small_intX  s9    
 hh{*=>
mC0#6r:   c                F    [        S/5      nUS   R                  S:X  d   eg )Nz1-1-2000 00:00:01r   r+   )r   second)r    ra  s     r"   test_ctor_str_intraday%TestTimeSeries.test_ctor_str_intradaye  s&    0121v}}!!!r:   c                   [         R                  " SSS[         R                  S9R                  S5      n[	        U5      nUR
                  [        U[         R                  " S5      S9:H  R                  5       (       d   eg )Nr   d   r=   rx   zM8[D]zM8[ns])	r1   r  r  r   r   r   r   rC   all)r    r_   r   s      r"   &test_index_cast_datetime64_other_units5TestTimeSeries.test_index_cast_datetime64_other_unitsi  s]    ii3"((388ACj

1#RXXh=OPPUUWWWWr:   c                j   [         R                  " S[         R                  S9n[        U5      nSUSS& UR                  SS S:H  R                  5       (       d   e[         R                  " S[         R                  S9n[        USS9nSUSS& UR                  SS S:g  R                  5       (       d   eg )Nr  rx   2   r  T)copy)r1   r  r  r   r   r  )r    r_   rV   s      r"   test_constructor_int64_nocopy,TestTimeSeries.test_constructor_int64_nocopyo  s    iiBHH-c"Bs

2c"b(--////iiBHH-c-Bs

2c"b(--////r:   rP   )MEQEYEr,   r   bhminr  msr  r   r   Cc                    [        SUSS9n[        X!S9n[        R                  " X25        [        SUSSS9n[        X!SS9n[        R                  " X25        g )Nz2001/02/01 09:00r+   )r  rP   r@   rO   r-   )r  rP   r/   r@   r   r`  )r    rP   orgr   s       r"   !test_from_freq_recreate_from_data0TestTimeSeries.test_from_freq_recreate_from_data}  sZ    
 1aHC+
c'$4L!
 C|<
c'r:   c                @   / SQnSn[         R                  " [        US9   [        U5        S S S 5        / SQn[        U5      n[	        SSS5      SSS	/n[        U5      n[        [	        SSS5      5      SSS	/n[        U5      n[        R                  " / SQS
S9n[        U5      n[        SS/SS9n[        SS/SSS9n[        R                  " Xx5        XEU4 H1  n	UR                  U	R                  :H  R                  5       (       a  M1   e   g ! , (       d  f       N= f)N)1/1/20051/2/2005z
Jn 3, 2005
2005-01-04z9(\(')?Unknown datetime string format(:', 'Jn 3, 2005'\))?r   )r  r  1/3/2005r  r$  r+   r  r  r  r   rx   z
12/05/2007z
25/01/2008T)dayfirstz
2007/05/12z
2008/01/25F)r  	yearfirst)rD   rE   rF   r   r   r   r1   rG   r   r4   r   r  )
r    r_   r!   rW  rX  rY  rZ  idx5idx6r[  s
             r"   #test_datetimeindex_constructor_misc2TestTimeSeries.test_datetimeindex_constructor_misc  s   BJ]]:S1# 2 AS!a#Z\JS!$1-.
JUS!hhIQTUS!lL9DI<(5D
 	d)$'EKK5<</446666 (+ 21s   D
Dc                    Sn[        SSSSS9n[        SSSSS9n[        U/SS	S
9n[        U/5      n[        R                  " XE5        [        U/SS	S9n[        U/5      n[        R                  " Xg5        g )Nz5/10/16i  r=   rW   r-   r.   r$     T)r/   r  )r/   r  )r   r   r   r4   )r    r5   dfirstyfirstresult1	expected1r  	expected2s           r"   <test_dti_constructor_object_dtype_dayfirst_yearfirst_with_tzKTestTimeSeries.test_dti_constructor_object_dtype_dayfirst_yearfirst_with_tz  s{    4Q<84RL9,F!6(+	
g1,$G!6(+	
g1r:   r  N)r  r  r  r  r  r  r  r  r  r  rD   rw  r  r  r  r  r  r  r:   r"   r  r  G  sT    %#7"X0 [[R	(		(762r:   r  )#
__future__r   r   r   r   	functoolsr   operatorr   r1  dateutil.tzr	   numpyr1   rD   r  pandas._libs.tslibsr
   r   r   pandasrQ   r   r   r   r   r   r   pandas._testing_testingr   pandas.core.arraysr   r   r  r  r:   r"   <module>r     sf    " 
             +_. _.D!m2 m2r:   