
    Mhq                        S r SSKJr  SSKJr  SSKr SSKJr  SSK	r
SSKrSSKJr  SSKJr  SSKrSSKJr  SSKJrJr   " S	 S
5      r " S S5      r " S S5      rS rg! \ a    Sr NRf = f)z
Tests for DatetimeArray
    )annotations)	timedeltaN)ZoneInfo)
tz_compare)DatetimeTZDtype)DatetimeArrayTimedeltaArrayc                     \ rS rSr\R
                  " / SQS9S 5       r\R
                  S 5       r\R
                  S 5       r\R
                  S 5       r	S r
\R                  R                  S	\R                  \R                  -   5      S
 5       rS rS rS r\R                  R)                  S5      S 5       rS rS rS r\R                  R                  S/ SQ5      S 5       rS rS rS rS r\R                  R                  S\" SS9\R@                  " SS9\!RD                  " SS5      \!RD                  " SS5      \RF                  RI                  S 5      \RF                  RK                  S5      /5      S! 5       r&S" r'S# r(S$r)g%)&TestNonNano   )smsus)paramsc                    UR                   $ )z)Fixture returning parametrized time units)param)selfrequests     T/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/test_datetimes.pyunitTestNonNano.unit   s     }}    c                R    UnUc  [         R                  " SU S35      $ [        XS9$ )Nzdatetime64[])r   tz)npdtyper   )r   r   tz_naive_fixturer   s       r   r   TestNonNano.dtype$   s/    :88k$q122"44r   c                `   [        USS 5      n[        R                  " SSSUS9nUc*  [        R                  " U5      R                  SU S35      nOG[        R                  " UR                  S5      R                  S 5      5      R                  SU S35      n[        R                  " XRS	9nXd4$ )
Nr   
2016-01-017   Dperiodsfreqr   M8[r   UTCr   )
getattrpd
date_ranger   asarrayastype
tz_converttz_localizer   _simple_new)r   r   r   r   dtiarrdtas          r   dta_dtiTestNonNano.dta_dti,   s    UD$'mmL"32F:**S/((3tfA7C**S^^E2>>tDELLdV1C ''9xr   c                    Uu  p#U$ N )r   r5   r4   r2   s       r   r4   TestNonNano.dta;   s    
r   c                z   [         R                  " S[         R                  S9R                  SU S35      n[        R
                  " X2S9nUR                  U:X  d   eUS   R                  U:X  d   e[        UR                  US   R                  5      (       d   eUS   US S :H  R                  5       (       d   eg )N   r)   r'   r   r      )r   arangeint64viewr   r1   r   r   r   r   all)r   r   r   r3   r4   s        r   test_non_nanoTestNonNano.test_non_nano@   s    ii*//#dV1>''9yyE!!!1v{{d"""#&&#a&)),,,,A#bq'!&&((((r   fieldc                    Uu  pVXe:H  R                  5       (       d   e[        XR5      n[        UR                  U5      n[        R                  " Xx5        g r8   )rA   r*   _datatmassert_numpy_array_equal)	r   r   rD   r   r5   r4   r2   resexpecteds	            r   test_fieldsTestNonNano.test_fieldsI   sJ     
!!!!c!399e,
##C2r   c                   [         R                  " SSSS9n[        R                  " U5      R	                  SU S35      n[
        R                  " X3R                  S9nUR                  (       a   e[        R                  " UR                  5       5      R	                  SU S35      n[
        R                  " XUR                  S9nUR                  5       n[        R                  " Xv5        g )Nz2016-01-01 06:00:00r"   r#   r%   r&   r'   r   r)   )r+   r,   r   r-   r.   r   r1   r   is_normalized	normalizerG   assert_extension_array_equal)r   r   r2   r3   r4   exprJ   rI   s           r   test_normalizeTestNonNano.test_normalizeU   s    mm12CHjjo$$s4&]3''99=$$$$ jj)003tfA? ,,S		Bmmo
''6r   c                z   [         R                  " S[         R                  S9R                  SU S35      n[	        US5      n[
        R                  " X#S9nUR                  U:X  d   e[	        SS5      n[        R                  " [        SS9   [
        R                  " X%S9  S S S 5        g ! , (       d  f       g = f)	Nr<   r)   r'   r   r(   ns match)r   r>   r?   r@   r   r   r1   r   pytestraisesAssertionError)r   r   r3   r   r4   wrongs         r   test_simple_new_requires_match*TestNonNano.test_simple_new_requires_matchd   s    ii*//#dV1>e,''9yyE!!!e,]]>4%%c7 544s   B,,
B:c                ^   [         R                  " SSSS9n[        R                  " U5      R	                  SU S35      n[
        R                  " X3R                  S9nUR                  5       nUR                  UR                  :X  d   eXRR                  5       R                  U5      :X  d   eg )Nr!   r"   r#   rN   r'   r   r)   )r+   r,   r   r-   r.   r   r1   r   std_cresofloor)r   r   r2   r3   r4   rI   s         r   test_std_non_nanoTestNonNano.test_std_non_nanoo   s    mmL"3?jjo$$s4&]3''99= ggizzSZZ'''ggiood++++r   z.ignore:Converting to PeriodArray.*:UserWarningc                    Uu  p#UR                  S5      nUR                  R                  S5      n[        R                  " XE5        g )Nr#   )	to_periodrF   rG   rQ   r   r5   r4   r2   resultrJ   s         r   test_to_periodTestNonNano.test_to_periodz   s9    s#99&&s+
''9r   c                    [        [        U5      5      nUS   n[        U5      [        R                  L d   eUR
                  UR
                  :X  d   eUR                  UR                  :X  d   eX#:X  d   eg )Nr   )nextitertyper+   	Timestamp_valuerb   )r   r4   rI   rJ   s       r   	test_iterTestNonNano.test_iter   sd    49oq6CyBLL(((zzX__,,,zzX__,,,r   c                   ^ TR                  [        5      n[        U4S jU 5       5      (       d   e[        S [        UT5       5       5      (       d   eg )Nc              3  T   >#    U  H  oR                   TR                   :H  v   M     g 7fr8   )rb   ).0xr4   s     r   	<genexpr>1TestNonNano.test_astype_object.<locals>.<genexpr>   s     :6a88szz)6s   %(c              3  .   #    U  H  u  pX:H  v   M     g 7fr8   r9   )rv   rw   ys      r   rx   ry      s     7&6da16&6s   )r.   objectrA   zip)r   r4   ri   s    ` r   test_astype_objectTestNonNano.test_astype_object   sF    F#:6:::::7c&#&677777r   c                x    Uu  p#UR                  5       nUR                  5       n[        R                  " XE5        g r8   )to_pydatetimerG   rH   rh   s         r   test_to_pydatetimeTestNonNano.test_to_pydatetime   s3    ""$$$&
##F5r   meth)timetimetzdatec                d    Uu  p4[        X25      n[        XB5      n[        R                  " XV5        g r8   )r*   rG   rH   )r   r5   r   r4   r2   ri   rJ   s          r   test_time_dateTestNonNano.test_time_date   s+    #3%
##F5r   c                    Uu  pEUR                  5       nUR                  R                  5       n[        R                  " Xg5        g r8   )_format_native_typesrF   rG   rH   )r   r   r   r5   r4   r2   rI   rR   s           r   test_format_native_types$TestNonNano.test_format_native_types   s9     &&(ii,,.
##C-r   c                z    Uu  p4[        U5      [        UR                  5      R                  SSU 35      :X  d   eg )Nz[ns[)reprrF   replace)r   r5   r   r4   r2   s        r   	test_reprTestNonNano.test_repr   s6    CyDO33EQtf:FFFFr   c                \   Un[         R                  " [         R                  5      n[         R                  " UR                  UR                  S-   UR
                  /[         R                  S9n[         R                  " U5      R                  S5      nUR                  S5      n[        R                  " XUR                  S9n[        R                  " XfR                  S9nU[        R                  L a  [         R                  " / SQ5      n	OU[        R                  L a  [         R                  " / SQ5      n	OUU[        R                  [        R                  4;   a  [         R                  " / SQ5      n	O[         R                  " / SQ5      n	U" Xx5      n
[        R                   " X5        U" US   U5      n
[        R                   " X5        U[        R                  [        R                  4;  a<  U" UR"                  UR"                  5      n[        R                   " USS  U	SS  ) 5        g g )	Nr=   r)   M8[ns]M8[s])FFF)TTT)FFT)FTF)r   iinfor?   arrayminmaxr@   r   r1   r   operatoreqneltlerG   rH   _ndarray)r   comparison_opopr   valsr3   arr2leftrightrJ   ri   np_ress               r   #test_compare_mismatched_resolutions/TestNonNano.test_compare_mismatched_resolutions   s   "xxEIIM599=RXXN hhtn!!(+xx ((II>))$jjAHKK'xx 56Hhkk)xx 23Hx{{HKK88xx 45Hxx 45HD
##F5DGU#
##F5hkk8;;// u~~6F''qr
Xab\MB	 0r   c                    [         R                  " SS9n[         R                  " SSS9U-
  nUR                  R	                  S5      nX1R	                  S5      -   nUR
                  S:X  d   eg )Nr=   )microsecondsr!      r%   r   )r+   	Timedeltar,   rF   as_unitr   )r   tdr2   r4   rI   s        r   (test_add_mismatched_reso_doesnt_downcast4TestNonNano.test_add_mismatched_reso_doesnt_downcast   s^    \\q)mmL!4r9ii%JJt$$ xx4r   scalar   )hourshi m r   x   c                   Uu  p4[         R                  " U5      n[        R                  " UR                  UR                  5      nXE-   R
                  R                  U5      nX2-   n[        R                  " X5        X#-   n[        R                  " X5        XE-
  R
                  R                  U5      nX2-
  n[        R                  " X5        g r8   )r+   r   rG   get_finest_unitr   rF   r   rQ   )	r   r5   r   r4   r2   r   exp_unitrJ   ri   s	            r   -test_add_timedeltalike_scalar_mismatched_reso9TestNonNano.test_add_timedeltalike_scalar_mismatched_reso   s     \\&!%%chh8H##++H5
''9
''9H##++H5
''9r   c                $   [         R                  " SSS9nUR                  R                  S5      nUS   R                  S5      nX#-
  nXS   -
  R                  R                  S5      nUR                  S:X  d   e[
        R                  " XE5        g )Nr!   r   r   r   r   r   zm8[us])r+   r,   rF   r   r   rG   rQ   )r   r2   r4   tsri   rJ   s         r   %test_sub_datetimelike_scalar_mismatch1TestNonNano.test_sub_datetimelike_scalar_mismatch   s{    mmL!4ii%V^^C a&L''//5||x'''
''9r   c                Z   [         R                  " SSS9nUR                  R                  S5      nUR                  S5      nX#-
  n[        R
                  " / SQSS9n[        R                  " UUR                  S9n[        R                  " XF5        X2-
  n[        R                  " Xv5        g )	Nr!   r   r   r   r   )r   r   r   zm8[ms]r)   )r+   r,   rF   r   r   r   r	   r1   r   rG   rQ   )r   r2   r   r   ri   
exp_valuesrJ   result2s           r   !test_sub_datetime64_reso_mismatch-TestNonNano.test_sub_datetime64_reso_mismatch  s    mmL!4yy  %T"XXix8
!--""
 	''9,
'':r   r9   N)*__name__
__module____qualname____firstlineno__rZ   fixturer   r   r5   r4   rB   markparametrizer   
_field_ops	_bool_opsrK   rS   r^   rd   filterwarningsrj   rr   r~   r   r   r   r   r   r   r   r+   r   r   timedelta64offsetsMinuteHourr   r   r   __static_attributes__r9   r   r   r   r      s   ^^,- . ^^5 5 ^^  ^^ ) [[))M,C,CC337	8	, [[ PQ: R:8
6 [[V%?@6 A6.G!CF	  [[ALLq!NN1c"NN?D1JJc"JJOOA	

:
:"	:;r   r   c                      \ rS rSrS rSrg)TestDatetimeArrayComparisonsi  c                n   Un[         R                  " SSSS S9nUR                  nUR                  UR                  :X  d   eUR                  UR                  :X  d   eUn[
        R                  " [        U5      [        S9nUR                  S;   a  U) nU" XD5      n[        R                  " Xv5        U[
        R                  " U5      [        U5      [        U5      UR                  [         5      4 H?  nU" XH5      n[        R                  " Xv5        U" X5      n[        R                  " Xv5        MA     g )Nz	2016-01-1MS	   )r&   r%   r   r)   )r   gtr   )r+   r,   rF   r&   r   r   oneslenboolr   rG   rH   r   listtupler.   r|   )	r   r   r   r2   r3   r   rJ   ri   others	            r   test_cmp_dt64_arraylike_tznaive<TestDatetimeArrayComparisons.test_cmp_dt64_arraylike_tznaive  s    mmKdA$Giixx388###vv773s840!!%77 yHC
##F5HHUOK%LLL 
E ^F''9^F''9
r   r9   N)r   r   r   r   r   r   r9   r   r   r   r     s    :r   r   c                  b   \ rS rSrS rS rS rS r\R                  R                  SSS/5      \R                  R                  S	/ S
Q5      S 5       5       r\R                  R                  S\\R                  \R                  SS/5      S 5       rS rS rS rS rS r\R                  R                  S\R.                  " S5      \R.                  " S5      R1                  5       \R.                  " S5      R3                  5       /5      S 5       rS rS r\R                  R                  SSS/5      S 5       rS rS rS r \R                  R                  S S!S"/5      S# 5       r!\R                  R                  S S!S"/5      S$ 5       r"\R                  R                  S	S%\R                  " S%5      S&\RF                  " S'5      \RH                  " S(S)9S*\RJ                  " S+S,S-9S.-  S/-  S0-  \RJ                  " S+5      RM                  S15      S.-  S/-  S0-  \R.                  " S5      RO                  S25      /	5      \R                  R                  S S!S"/5      S3 5       5       r(S4 r)S5 r*S6 r+S7 r,S8S9/r-\.b   \." S85      r/\-Ra                  \/5        \R                  R                  S;\-5      S< 5       r2\R                  R                  S=/ S>Q5      S? 5       r3\R                  R                  S@/ SAQ5      SB 5       r4\R                  R                  S@/ SCQ5      SD 5       r5SEr6g:! \1 a     Nf = f)FTestDatetimeArrayi7  c                   [         R                  " S5      nUR                  S5      n[        R                  " U/SS9nUR                  S5      UR                  S5      R                  :H  R                  5       (       d   eUR                  S5      nUS   U:X  d   e[        R                  " U/SS9nUR                  S5      UR                  :H  R                  5       (       d   e[        R                  " XE5        g )	Nz1677-09-21 00:12:43.145225r   r   r)   i8rV   zM8[ms]r   )r+   rp   r   r   _from_sequencer@   valuerA   r.   rq   rG   assert_datetime_array_equal)r   r   targetr4   ri   rJ   s         r    test_astype_ns_to_ms_near_bounds2TestDatetimeArray.test_astype_ns_to_ms_near_bounds8  s    \\67D!**B4x@"**T"2"8"88==????H%ayF""" //HEd#v}}499;;;;
&&v8r   c                <   [         R                  " SSS9nUR                  S5      nUR                  S:X  d   eUR                  nUR                  S5      nUR                  S:X  d   e[        U[         R                  R                  R                  5      (       d   eg )Nr!   r   r   r   )	r+   r,   r.   r   rF   
isinstancecorearraysr   )r   r2   rI   r4   s       r   test_astype_non_nano_tznaive.TestDatetimeArray.test_astype_non_nano_tznaiveH  s|    mmL!4jj!yyG###iijj!yyG####rww~~;;<<<<r   c                   [         R                  " SSSS9nUR                  S5      nUR                  S:X  d   eUR                  nUR                  S5      nUR                  S:X  d   eUR                  S5      nUR                  S:X  d   e[
        R                  " XB5      (       a   eUR                  SSS9nUR                  S:X  d   e[
        R                  " XR5      (       d   eg )	Nr!   r   r(   r%   r   zM8[s, US/Pacific]z
M8[s, UTC]Fcopy)r+   r,   r.   r   rF   rG   shares_memory)r   r2   rI   r4   res2res3s         r   test_astype_non_nano_tzaware.TestDatetimeArray.test_astype_non_nano_tzawareS  s    mmL!>jj,-yy////iijj,-yy//// zz,'zz\)))##D....zz,Uz3zz\)))****r   c                x    [         R                  " S/[        SS9S9nUR                  [        SS9SS9nX!L d   eg )N2000
US/Centralr   r)   Fr   )r   r   r   r.   )r   r3   ri   s      r   test_astype_to_same%TestDatetimeArray.test_astype_to_samef  sA    **HO|<
 O|<5I}}r   r   datetime64[ns]datetime64[ns, UTC]r   )r  r  zdatetime64[ns, CET]c                   [         R                  " SS/US9nUR                  5       nSnUS:H  US:H  -  (       a  SnU(       a?  US:X  a  SnOSn[        R                  " [
        US	9   UR                  U5        S S S 5        g UR                  U5      n[         R                  US S & [        R                  " X45        g ! , (       d  f       g = f)
Nr=   r   r)   Fr  Tz<Use obj.tz_localize instead or series.dt.tz_localize insteadz1from timezone-aware dtype to timezone-naive dtyperX   )
r+   Seriesr   rZ   r[   	TypeErrorr.   NaTrG   assert_series_equal)r   r   r   serorigerrmsgts           r   test_astype_copies$TestDatetimeArray.test_astype_copiesm  s     iiAe,xxz%%%3C*CDC((TIy4

5! 54 

5!A66AaD""3- 54s   'B==
Cuint32uint64c                   [         R                  " [        R                  " S5      [        R                  " S5      /SS9n[        R
                  " U5      [        R                  :w  a4  [        R                  " [        SS9   UR                  U5        S S S 5        g UR                  U5      nUR                  R                  S5      n[        R                  " X45        g ! , (       d  f       g = f)Nr   2001r   r)   zDo obj.astype\('int64'\)rX   r   )r   r   r+   rp   r   r   r?   rZ   r[   r  r.   r   r@   rG   rH   )r   r   r3   ri   rJ   s        r   test_astype_int!TestDatetimeArray.test_astype_int  s    **\\&!2<<#78
 88E?bhh&y0KL

5! ME"<<$$T*
##F5 MLs   C
C-c                    [         R                  " SSS9nUR                  nUR                  S5      nUR                  S:X  d   eX2:H  R                  5       (       d   eg )Nr!      r   zSparse[datetime64[ns]])r+   r,   rF   r.   r   rA   )r   r2   r4   ri   s       r   test_astype_to_sparse_dt64,TestDatetimeArray.test_astype_to_sparse_dt64  sT    mmL!4ii45||7777""$$$$r   c                    [         R                  " S/[        SS9S9n[        R                  " [
        SS9   SUl        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r)   r0   rX   r(   )r   r   r   rZ   r[   AttributeErrorr   )r   r3   s     r   test_tz_setter_raises'TestDatetimeArray.test_tz_setter_raises  sB    **HO|<
 ]]>?CF @??s   A
Ac                   Un[         R                  " / SQSS9nUc  UR                  O[        US9n[        R
                  " X4S9nUR                  5       n[        R                  " S5      R                  U5      n[        UR                  S 5      5      nXvS'   XS'   [        R                  " XV5        XvS'   X/US S& [        R                  " XV5        g )	Nr=   r   r   r   r)   r   z2020-09-08 16:50r   r=   r   )r   r   r   r   r   r   r   r+   rp   r0   strrG   assert_equal)	r   r   r   datar   r3   rJ   r   setters	            r   test_setitem_str_impute_tz,TestDatetimeArray.test_setitem_str_impute_tz  s     xx	2 j

o.D**4=88:\\,-99"=R^^D)* A
& "BQ
&r   c                j   [         R                  " / SQSS9n[        R                  " US[	        SS9S9n[
        R                  " [        SS	9   [        R                  " S
5      US'   S S S 5        [        R                  " S
SS9nX2S'   US   UR                  S5      :X  d   eg ! , (       d  f       NB= f)Nr   r   r)   Fr   r   )r   r   z$Cannot compare tz-naive and tz-awarerX   r   r   
US/Eastern)r   r   r   r   r   rZ   r[   r  r+   rp   r/   )r   r#  r3   r   s       r    test_setitem_different_tz_raises2TestDatetimeArray.test_setitem_different_tz_raises  s     xx	2**uO|$D
 ]]9,RS\\&)CF T \\&\2A1v|4444 TSs   B$$
B2c                    [         R                  " SSSSS9R                  n[         R                  " SSS9US'   UR                  b   eg )Nr   r   r#   r   r$   r   r   )r+   r,   rF   rp   r&   )r   as     r   test_setitem_clears_freq*TestDatetimeArray.test_setitem_clears_freq  s>    MM&!#,GMM||F|4!vv~~r   objz
2021-01-01c                f    [         R                  " SSSS9nUR                  nXS'   US   U:X  d   eg )Nr   r   r#   rN   r   )r+   r,   rF   )r   r/  r2   r3   s       r   test_setitem_objects&TestDatetimeArray.test_setitem_objects  s6     mmFAC8iiA1v}}r   c                    [         R                  " SSSSS9nUR                  nUR                  SS/5      n[        R
                  " UR                  UR                  S9n[        R                  " X45        g )Nr   r   r#   r   r$   r=   r)   )
r+   r,   rF   repeatr   r   asi8r   rG   r"  )r   r2   r3   repeatedrJ   s        r   test_repeat_preserves_tz*TestDatetimeArray.test_repeat_preserves_tz  sY    mmFACLIii::q!f% !//		J
+r   c                   [         R                  " SSSSS9nUR                  R                  SS/5      nUR	                  5       nUR
                  R                  U5      (       d   e[         R                  US'   UR	                  S	S
9n[         R                  " / SQUS   US   [         R                  /SS9n[        R                  " X45        g )Nr   r   r#   r   r$   r  r   F)dropna)r  r   r=   r   r=   count)indexname)r+   r,   rF   r4  value_countsr=  equalsr  r  rG   r	  )r   r2   r3   ri   rJ   s        r   test_value_counts_preserves_tz0TestDatetimeArray.test_value_counts_preserves_tz  s    mmFACLIii1v&!!# ||""3''''&&B!!!/99Ys1vs1vrvv.FWU
v0r   methodpadbackfillc                   [         R                  " SSSSS9n[        R                  " USS9n[         R                  US'   US	:X  a  US
   OUS   n[        R                  " US   US
   XBS   US   /[        SS9S9nUR                  US9n[        R                  " Xe5        US   [         R                  L d   eUS   [         R                  " SSS9:X  d   eg )Nz
2000-01-01r<   r#   r   r$   Tr   r   rD  r=   r   r   r  r   r)   rC  z
2000-01-03)
r+   r,   r   r   r  r   _pad_or_backfillrG   rQ   rp   )r   rC  r2   r3   fill_valrJ   ri   s          r   test_fillna_preserves_tz*TestDatetimeArray.test_fillna_preserves_tz  s    mmL!#,O**3T:A#u_3q6#a& //VSVX1vs1v6!\2

 %%V%4
''9 1v1vl|DDDDr   c                   [         R                  " SSSS9nUR                  R                  SS5      R	                  5       n[         R
                  US'   [         R
                  US'   UR                  S	S
9nUR	                  5       nUS   US'   [        R                  " X45        UR                  SS
9nUR	                  5       nUR	                  5       nUS   US'   US   US'   [        R                  " XV5        UR                  UR                  R	                  SS95      nUR                  R                  S   (       d   eUR                  R                  S   (       a   e[        R                  " X'5        UR                  S	S
9n[        R                  " X5        UR                  SS
9n	[        R                  " X5        [         R                  " U5      n
U
R                  5       n[         R                  " U5      n[        R                  " X5        U
R                  5       n[         R                  " U5      n[        R                  " X5        g )Nr!      
US/Pacificr   r   r   )r   r=   )r=   r   rD  rG  )r   r   rE  )r   r   )r=   r=   F)orderF_CONTIGUOUSC_CONTIGUOUS)r+   r,   rF   reshaper   r  rH  rG   rQ   _from_backing_datar   flags	DataFrameffillassert_frame_equalbfill)r   r2   r4   res1	expected1r   	expected2dta2r   res4dfrI   rJ   s                r   test_fillna_2d TestDatetimeArray.test_fillna_2d  s   mmL!Eii1%**,FFD	FFD	##5#1HHJ	d)	$
''8##:#6HHJ	HHJ	d)	$d)	$
''8 %%cll&7&7c&7&BC}}"">222==&&~666
''2$$E$2
''8$$J$7
''8 \\#hhj<<	*
c,hhj<<	*
c,r   c                   Sn[         R                  " SSUS9R                  n[        R                  " U5      n[        R
                  " [         R                  " SUS9[         R                  " SUS9/[        S9n[        R                  " X45        [        R                  " U[        S9n[        R                  " X45        [        R                  " US	S9n[        R
                  " S
S/S	S9n[        R                  " X45        g )Nr   2017r   r   2017-01-01T00:00:00r   2017-01-02T00:00:00r)   r   z2017-01-01T06:00:00z2017-01-02T06:00:00)
r+   r,   rF   r   r-   r   rp   r|   rG   rH   )r   r   r#  ri   rJ   s        r   test_array_interface_tz)TestDatetimeArray.test_array_interface_tz4  s    }}VQ26<<D!882r:2r: 
 	##F5D/
##F5D188"$9:(
 	##F5r   c                   [         R                  " SSS9R                  n[        R                  " SS/SS9n[        R
                  " U5      n[        R                  " X25        [        R
                  " U[        S9n[        R                  " [         R                  " S5      [         R                  " S5      /[        S9n[        R                  " X25        g )Nrc  r   r   rd  re  r  r)   )
r+   r,   rF   r   r   r-   rG   rH   r|   rp   )r   r#  rJ   ri   s       r   test_array_interface&TestDatetimeArray.test_array_interfaceL  s    }}VQ/5588"$9:BR
 D!
##F5D/88\\/0",,?T2UV
 	##F5r   r=  TFc                   [         R                  " SSS9S-  S-  S-  n[        R                  " USS9R                  R                  S	5      nU(       a  [        R                  " U5      nUR                  US
   5      nUR                  US
   R                  S5      5      nXT:X  d   eUR                  US
S 5      nUR                  US
S R                  S5      5      n[        R                  " XT5        g )N
   r   r)         ʚ;r#   r&   
Asia/Tokyor   r(   rM  )r   r>   r+   DatetimeIndexrF   r0   Indexsearchsortedr/   rG   r"  )r   r=  r#  r3   rJ   ri   s         r   test_searchsorted_different_tz0TestDatetimeArray.test_searchsorted_different_tz\  s    yy4(2-4u<t#.44@@N((3-C##CF+!!#a&"3"3E":;!!!##C!H-!!#a("5"5e"<=
)r   c                
   [         R                  " SSS9S-  S-  S-  n[        R                  " USS9R                  nU(       a  [        R
                  " U5      nUR                  S	5      nS
n[        R                  " [        US9   UR                  US   5        S S S 5        [        R                  " [        US9   UR                  U5        S S S 5        [        R                  " [        US9   UR                  US   5        S S S 5        [        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nd= f! , (       d  f       g = f)Nrl  r   r)   rm  rn  ro  r#   rp  rq  z:Cannot compare tz-naive and tz-aware datetime-like objectsrX   r   )r   r>   r+   rr  rF   rs  r0   rZ   r[   r  rt  )r   r=  r#  r3   mismatchr  s         r   $test_searchsorted_tzawareness_compat6TestDatetimeArray.test_searchsorted_tzawareness_compatk  s   yy4(2-4u<t#.44((3-C??<0J]]9C0Xa[) 1]]9C0X& 1 ]]9C0!!#a&) 1]]9C0!!#& 10 1000 1000s0   E=E0E#&E4
E
E #
E14
Fr=   g      ?r  r   )daysinvalidrl  r   r)   rm  rn  ro  ztimedelta64[ns]r#   c                f   [         R                  " SSS9S-  S-  S-  n[        R                  " USS9R                  nU(       a  [        R
                  " U5      nS	R                  S
S/5      n[        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       g = f)Nrl  r   r)   rm  rn  ro  r#   rp  |z0searchsorted requires compatible dtype or scalarz<value should be a 'Timestamp', 'NaT', or array of those. GotrX   )r   r>   r+   rr  rF   rs  joinrZ   r[   r  rt  )r   r   r=  r#  r3   r  s         r   test_searchsorted_invalid_types1TestDatetimeArray.test_searchsorted_invalid_types  s      yy4(2-4u<t#.44((3-ChhBN
 ]]9C0U# 100s   B""
B0c                   [         R                  " SSS9nUR                  n[        R                  " [
        R                  " UR                  S5      5      nUS   nXDR                  5       UR                  5       4 H)  nUR                  SUS9n[        R                  " Xc5        M+     UR                  S5      nUR                  S5      nUS   nXDR                  5       4 H)  nUR                  SUS9n[        R                  " Xc5        M+     g )Nr!   r   r   r=   
fill_valuer(   )r+   r,   rF   r   r   r   rollr   r   to_datetime64shiftrG   r   r0   )r   r2   r4   rJ   fvr  ri   s          r   test_shift_fill_value'TestDatetimeArray.test_shift_fill_value  s    mmL!4ii //a0HIW//123C3C3EFJYYqZY8F**6< G ooe$''.W//12JYYqZY8F**6< 3r   c                F   [         R                  " SSS9nUR                  nUS   R                  S5      nX3R	                  5       4 H5  n[
        R                  " [        SS9   UR                  SUS	9  S S S 5        M7     UR                  S5      nUS   R                  S 5      nX3R	                  5       UR                  5       4 H5  n[
        R                  " [        SS9   UR                  SUS	9  S S S 5        M7     g ! , (       d  f       M  = f! , (       d  f       M[  = f)
Nr!   r   r   r  r(   zCannot comparerX   r=   r  )
r+   r,   rF   r0   r   rZ   r[   r  r  r  )r   r2   r4   r  r|  s        r   %test_shift_value_tzawareness_mismatch7TestDatetimeArray.test_shift_value_tzawareness_mismatch  s    mmL!4iiW  ',,./Gy0@A		!	0 BA 0 ooe$W  &,,.0@0@0BCGy0@A		!	0 BA D BA BAs   #C?!D?
D	
D 	c                    [         R                  " SSSS9nUR                  n[         R                  " SSS9nUR	                  SUS	9nUR	                  SUR                  S5      S	9n[        R                  " XE5        g )
Nr!   r   r(   r   z2020-10-18 18:44rN  r   r=   r  )r+   r,   rF   rp   r  r/   rG   r"  )r   r2   r4   r  ri   rJ   s         r   test_shift_requires_tzmatch-TestDatetimeArray.test_shift_requires_tzmatch  sk     mmL!>ii\\"4F
1499Q:+@+@+G9H
)r   c                t   [         R                  " SSSS9nUR                  R                  SS5      nUR	                  S 5      nUR                  5       R	                  S 5      R                  UR                  5      n[        R                  " X45        UR	                  S5      n[        R                  " XR5        g )Nz
1994-05-12   rN  r   r   r  )	r+   r,   rF   rS  r0   ravelshaperG   r   )r   r2   r4   ri   rJ   	roundtrips         r   test_tz_localize_t2d&TestDatetimeArray.test_tz_localize_t2d  s    mmL"Fii1%&99;**4088C
&&v8((6	
&&y6r   r(  zdateutil/US/EasternNr   c                   [         R                  " / SQ[         R                  S9nUS-  n[        R                  " U5      R                  S5      R                  U5      nUS   n[        U5      S   n[        U5      [        U5      :X  d   eUR                  5       UR                  5       :X  d   eUR                  [        5      S   n[        U5      [        U5      :X  d   eUR                  5       UR                  5       :X  d   eg )N)i@NiPNi`"Nip0Nr)   ro  r(   r   )r   r   r?   r   r   r0   r/   r   r!  	utcoffsetr.   r|   )r   r   utc_valsr4   r   r   right2s          r   test_iter_zoneinfo_fold)TestDatetimeArray.test_iter_zoneinfo_fold  s     88<BHH
 	M!**84@@GRRSUV1vS	!4yCJ&&& ~~5??#4444 F#A&4yCK'''~~6#3#3#5555r   zfreq, freq_depr))2ME2M)2SME2SM)r  2sm)2QE2Q)2QE-SEPz2Q-SEP)1YE1Y)2YE-MARz2Y-MAR)r  1A)r  z2A-MAR)r  2m)r  z2q-sep)r  z2a-mar)2YE2yc                   SUSS   S3nSUSS   S3  [         R                  " SSUS9n[        R                  " [        US	9   [         R                  " SSUS9nS S S 5        [        R
                  " WU5        g ! , (       d  f       N&= f)
N'r=   z$' is deprecated and will be removed z!in a future version, please use '
' instead.1/1/2000r  rN   rX   )r+   r,   rG   assert_produces_warningFutureWarningassert_index_equal)r   r&   	freq_deprdepr_msgrJ   ri   s         r   ,test_date_range_frequency_M_Q_Y_A_deprecated>TestDatetimeArray.test_date_range_frequency_M_Q_Y_A_deprecated  s    ( y}o%IJ
+DH:Z@==QTB''XF]]:qyIF G
fh/ GFs   A99
Br  )2H2CBH2MIN2S2mS2Usc                L   SUSS   S3nSUR                  5       SS   S3  [        R                  " SSUR                  5       S9n[        R                  " [
        US	9   [        R                  " SSUS9nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)
Nr  r=   )' is deprecated and will be removed in a zfuture version. Please use 'r  r  r  rN   rX   )lowerr+   r,   rG   r  r  r  r   r  r  rJ   ri   s        r   .test_date_range_uppercase_frequency_deprecated@TestDatetimeArray.test_date_range_uppercase_frequency_deprecated  s     y}o%NO
&y'8'<&=ZH==QY__=NO''XF]]:qyIF G
fh/ GF   B
B#)
z2ye-mar2ys2qez2qs-feb2bqs2sms2bms2cbme2me2wc                L   SUSS   S3nSUR                  5       SS   S3  [        R                  " SSUR                  5       S9n[        R                  " [
        US	9   [        R                  " SSUS9nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)
Nr  r=   r  zfuture version, please use 'r  r  r  rN   rX   )upperr+   r,   rG   r  r  r  r  s        r   .test_date_range_lowercase_frequency_deprecated@TestDatetimeArray.test_date_range_lowercase_frequency_deprecated$  s    " y}o%NO
&y'8'<&=ZH==QY__=NO''XF]]:qyIF G
fh/ GFr  r9   )7r   r   r   r   r   r   r   r  rZ   r   r   r  intr   int32r?   r  r  r  r%  r)  r-  r+   rp   r  r   r1  r7  rA  rJ  r`  rf  ri  ru  ry  r   r   r>   r@   rg   r  r  r  r  r  eastsr   r   appendKeyErrorr  r  r  r  r   r9   r   r   r   r   7  st   9 	=+& [[W'79N&OP[[Q. Q., [[WsBHHbhh(&ST6 U6%'.5
 [[LL&LL&446LL&446	
,1 [[Xz':;E <E$'-R606  [[WtUm4* 5* [[WtUm4' 5'& [[HHQKNN5!LLa IIb%*T1E9IIbM01B6=ELL&005
	
 [[WtUm4$ 5$=$1 
*	7 01E	,'B LL[[T5)6 *64 [[	
$0%$0 [[[*TU0 V0 [[	
00s  		s   ;L% %L.-L.r   c                 L   [         R                  " / SQSS9n Sn[        R                  " [        US9   U R                  SS9  S S S 5        X S   -
  n[        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       NG= f! , (       d  f       g = f)	N)r   r   r=   r   r)   z+call pd.factorize\(obj, sort=True\) insteadrX   T)sortr   )r   r   rZ   r[   NotImplementedError	factorize)r4   r  tdas      r    test_factorize_sort_without_freqr  >  s    

&
&y
AC
8C	*#	64  
7 A,C	*#	64  
7	6 
7	6
 
7	6s   B+B
B
B#)__doc__
__future__r   datetimer   r   zoneinfor   ImportErrornumpyr   rZ   pandas._libs.tslibsr   pandas.core.dtypes.dtypesr   pandasr+   pandas._testing_testingrG   pandas.core.arraysr   r	   r   r   r   r  r9   r   r   <module>r     sw    #  !
   * 5  r; r;j!: !:HD0 D0N
!g  Hs   A" "A-,A-