
    ajqt                        S r SSKJr  SSKJr  SSKrSSKrSSKrSSK	J
r
  SSKJrJ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)z
Tests for DatetimeArray
    )annotations)	timedeltaN)
tz_compare)is_numpy_devnp_version_gt2_5)Pandas4Warning)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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\ RB                  " SS9\"RF                  " SS5      \"RF                  " SS 5      \ RH                  RK                  S!5      \ RH                  RM                  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     e/var/www/html/Sattelite-Image/venv/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                b   [        USS 5      n[        R                  " SSSUS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nsperiodsfreqr   r   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"32DQ:**S/((3tfA7C**S^^E2>>tDELLdV1C ''9xr   c                    Uu  p#U$ N )r   r8   r7   r5   s       r   r7   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
   r4   r   r   r   r   all)r   r   r   r6   r7   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 r;   )rD   r-   _datatmassert_numpy_array_equal)	r   r   rG   r   r8   r7   r5   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   r0   r1   r
   r4   r   is_normalized	normalizerJ   assert_extension_array_equal)r   r   r5   r6   r7   exprM   rL   s           r   test_normalizeTestNonNano.test_normalizeU   s    mm12CHjjo$$s4&]3''99=$$$$ jj)003tfA? ,,S		Bmmo
''6r   c                    [         R                  R                  n[        R                  " U/SS9nSn[
        R                  " [        US9   UR                  5         S S S 5        g ! , (       d  f       g = f)NM8[ns]r,   z3Cannot normalize Timestamp without integer overflowmatch)	r.   	Timestampminr
   _from_sequencepytestraises
ValueErrorrS   )r   tsr7   msgs       r   test_normalize_overflow_raises*TestNonNano.test_normalize_overflow_raisesd   sM    \\**B4x@C]]:S1MMO 211s   A&&
A4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+   r&   z^$rZ   )r   rA   rB   rC   r	   r
   r4   r   r_   r`   AssertionError)r   r   r6   r   r7   wrongs         r   test_simple_new_requires_match*TestNonNano.test_simple_new_requires_matchm   s    ii*//#dV1>e,''9yyE!!!e,]]>6%%c7 766s   B,,
B:c                `   [         R                  " S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%   r&   )r(   r)   r   r*   r   r,   )r.   r/   r   r0   r1   r
   r4   r   std_cresofloor)r   r   r5   r6   r7   rL   s         r   test_std_non_nanoTestNonNano.test_std_non_nanox   s    mmL"3TJ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_periodrI   rJ   rT   r   r8   r7   r5   resultrM   s         r   test_to_periodTestNonNano.test_to_period   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.   r\   _valuerm   )r   r7   rL   rM   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SS9 5       5      (       d   eg )Nc              3  T   >#    U  H  oR                   TR                   :H  v   M     g 7fr;   )rm   ).0xr7   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r;   r<   )r   r   ys      r   r   r      s     D&Cda16&Cs   T)strict)r1   objectrD   zip)r   r7   rt   s    ` r   test_astype_objectTestNonNano.test_astype_object   sH    F#:6:::::Dc&#d&CDDDDDr   c                x    Uu  p#UR                  5       nUR                  5       n[        R                  " XE5        g r;   )to_pydatetimerJ   rK   rs   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 r;   )r-   rJ   rK   )r   r8   r   r7   r5   rt   rM   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 r;   )_format_native_typesrI   rJ   rK   )r   r   r   r8   r7   r5   rL   rU   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[)reprrI   replace)r   r8   r   r7   r5   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  ["        (       d  [$        (       a@  [&        R(                  " [*        S	S
9   U" UR,                  UR,                  5        S S S 5        g U" UR,                  UR,                  5      n[        R                   " USS  U	SS  ) 5        g g ! , (       d  f       g = f)Nr@   r,   rY   M8[s])FFF)TTT)FFT)FTFOverflowrZ   )r   iinforB   arrayr]   maxrC   r
   r4   r   operatoreqneltlerJ   rK   r   r   r_   r`   OverflowError_ndarray)r   comparison_opopr   valsr6   arr2leftrightrM   rt   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;;//|// ]]=
Ct}}enn5 DC
 DMM5>>:++F12J!"F 0 DCs    J
J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/   rI   as_unitr   )r   tdr5   r7   rL   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 r;   )r.   r   rJ   get_finest_unitr   rI   r   rT   )	r   r8   r   r7   r5   r   exp_unitrM   rt   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/   rI   r   r   rJ   rT   )r   r5   r7   rb   rt   rM   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/   rI   r   r   r   r   r4   r   rJ   rT   )r   r5   r   r   rt   
exp_valuesrM   result2s           r   !test_sub_datetime64_reso_mismatch-TestNonNano.test_sub_datetime64_reso_mismatch  s    mmL!4yy  %T"XXix8
!--""
 	''9,
'':r   r<   N)+__name__
__module____qualname____firstlineno__r_   fixturer   r   r8   r7   rE   markparametrizer
   
_field_ops	_bool_opsrN   rV   rd   ri   ro   filterwarningsru   r|   r   r   r   r   r   r   r   r   r.   r   r   timedelta64offsetsMinuteHourr   r   r   __static_attributes__r<   r   r   r   r      s   ^^,- . ^^5 5 ^^  ^^ ) [[))M,C,CC337	8	, [[ PQ: R:E
6 [[V%?@6 A6.G'GR	  [[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/   rI   r)   r   r   oneslenboolr   rJ   rK   r   listtupler1   r   )	r   r   r   r5   r6   r   rM   rt   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   r<   N)r   r   r   r   r   r   r<   r   r   r   r   "  s    :r   r   c                     \ 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'S(5      \RH                  " S)S*9S+\RJ                  " S,S-S.9S/-  S0-  S1-  \RJ                  " S,5      RM                  S25      S/-  S0-  S1-  \R.                  " S5      RO                  S35      /	5      \R                  R                  S S!S"/5      S4 5       5       r(S5 r)S6 r*S7 r+S8 r,\R                  R                  S9/ S:Q5      S; 5       r-\R                  R                  S</ S=Q5      S> 5       r.\R                  R                  S?/ S@Q5      SA 5       r/\R                  R                  S</ SBQ5      SC 5       r0SD r1\R                  R                  S</ SEQ5      SF 5       r2\R                  R                  S</ SGQ5      SH 5       r3SIr4gJ)KTestDatetimeArrayiF  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   rY   r,   i8r&   zM8[ms]r   )r.   r\   r   r
   r^   rC   valuerD   r1   r{   rJ   assert_datetime_array_equal)r   rb   targetr7   rt   rM   s         r    test_astype_ns_to_ms_near_bounds2TestDatetimeArray.test_astype_ns_to_ms_near_boundsG  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/   r1   r   rI   
isinstancecorearraysr
   )r   r5   rL   r7   s       r   test_astype_non_nano_tznaive.TestDatetimeArray.test_astype_non_nano_tznaiveW  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/   r1   r   rI   rJ   shares_memory)r   r5   rL   r7   res2res3s         r   test_astype_non_nano_tzaware.TestDatetimeArray.test_astype_non_nano_tzawareb  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	   r1   )r   r6   rt   s      r   test_astype_to_same%TestDatetimeArray.test_astype_to_sameu  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 dtyperZ   )
r.   Seriesr   r_   r`   	TypeErrorr1   NaTrJ   assert_series_equal)r   r   r   serorigerrrc   ts           r   test_astype_copies$TestDatetimeArray.test_astype_copies|  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  2001rY   r,   zDo obj.astype\('int64'\)rZ   r   )r
   r^   r.   r\   r   r   rB   r_   r`   r  r1   r   rC   rJ   rK   )r   r   r6   rt   rM   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/   rI   r1   r   rD   )r   r5   r7   rt   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,   r3   rZ   r+   )r
   r^   r	   r_   r`   AttributeErrorr   )r   r6   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   rY   r,   r	  z2020-09-08 16:50r   r@   r   )r   r   r   r	   r
   r^   r   r.   r\   r3   strrJ   assert_equal)	r   r    r   datar   r6   rM   rb   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(  rY   r,   Fr  r	  )r   r   z$Cannot compare tz-naive and tz-awarerZ   r  r   
US/Eastern)r   r   r
   r^   r	   r_   r`   r  r.   r\   r2   )r   r+  r6   rb   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   )r.   r/   rI   r\   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%   rQ   r   )r.   r/   rI   )r   r8  r5   r6   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  r4  r@   r,   )
r.   r/   rI   repeatr
   r^   asi8r   rJ   r*  )r   r5   r6   repeatedrM   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  r4  r   r   F)dropna)r   r   r@   r   r@   count)indexname)r.   r/   rI   r=  value_countsrF  equalsr  r  rJ   r  )r   r5   r6   rt   rM   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S9n[        R                  " X"R                  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&   r'   T)r   r   r   rM  r@   r   r   r   r	  r,   rL  z
2000-01-03)r.   r/   r
   r^   r   r  r	   _pad_or_backfillrJ   rT   r\   )r   rL  r5   r6   fill_valrM   rt   s          r   test_fillna_preserves_tz*TestDatetimeArray.test_fillna_preserves_tz  s    mm!#,T
 **3iidK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   rM  rP  )r   r   rN  )r   r   )r@   r@   F)orderF_CONTIGUOUSC_CONTIGUOUS)r.   r/   rI   reshaper   r  rQ  rJ   rT   _from_backing_datar   flags	DataFrameffillassert_frame_equalbfill)r   r5   r7   res1	expected1r  	expected2dta2r  res4dfrL   rM   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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&   )r(   r   r   2017-01-01T00:00:00r	  2017-01-02T00:00:00r,   rY   z2017-01-01T06:00:00z2017-01-02T06:00:00)
r.   r/   rI   r   r0   r   r\   r   rJ   rK   )r   r   r+  rt   rM   s        r   test_array_interface_tz)TestDatetimeArray.test_array_interface_tzE  s    }}VQ2DAGGD!882r:2r: 
 	##F5D/
##F5D188"$9:(
 	##F5r   c                   [         R                  " S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 )	Nrl  r   r&   )r(   r   rm  rn  r  r,   )
r.   r/   rI   r   r   r0   rJ   rK   r   r\   )r   r+  rM   rt   s       r   test_array_interface&TestDatetimeArray.test_array_interface]  s    }}VQT:@@88"$9:BR
 D!
##F5D/88\\/0",,?T2UV
 	##F5r   rF  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+   rV  )r   rA   r.   DatetimeIndexrI   r3   Indexsearchsortedr2   rJ   r*  )r   rF  r+  r6   rM   rt   s         r   test_searchsorted_different_tz0TestDatetimeArray.test_searchsorted_different_tzm  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)Nru  r   r,   rv  rw  rx  r%   ry  rz  z:Cannot compare tz-naive and tz-aware datetime-like objectsrZ   r   )r   rA   r.   r{  rI   r|  r3   r_   r`   r  r}  )r   rF  r+  r6   mismatchrc   s         r   $test_searchsorted_tzawareness_compat6TestDatetimeArray.test_searchsorted_tzawareness_compat|  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&   r   )daysinvalidru  r   r,   rv  rw  rx  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)Nru  r   r,   rv  rw  rx  r%   ry  |z0searchsorted requires compatible dtype or scalarz<value should be a 'Timestamp', 'NaT', or array of those. GotrZ   )r   rA   r.   r{  rI   r|  joinr_   r`   r  r}  )r   r   rF  r+  r6   rc   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                0   [         R                  " SSS9nUR                  n[        R                  " [
        R                  " UR                  S5      UR                  S9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@   r,   
fill_valuer+   )r.   r/   rI   r
   r^   r   rollr   r   r   to_datetime64shiftrJ   r   r3   )r   r5   r7   rM   fvr  rt   s          r   test_shift_fill_value'TestDatetimeArray.test_shift_fill_value  s    mmL!4ii //GGCLL!$CII
 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 comparerZ   r@   r  )
r.   r/   rI   r3   r   r_   r`   r  r  r  )r   r5   r7   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:44rW  r	  r@   r  )r.   r/   rI   r\   r  r2   rJ   r*  )r   r5   r7   r  rt   rM   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   rW  r   r   r   )	r.   r/   rI   r\  r3   ravelshaperJ   r   )r   r5   r7   rt   rM   	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   )r0  zdateutil/US/Easternzpytz/US/Easternc                   UR                  S5      (       a6  [        R                  " S5      nUR                  UR	                  S5      5      n[
        R                  " / SQ[
        R                  S9nUS-  n[        R                  " U[
        R                  " S5      S9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 )	Nzpytz/pytz)i@NiPNi`"Nip0Nr,   rx  rY   r+   r   )
startswithr_   importorskiptimezoneremoveprefixr   r   rB   r
   r^   r   r3   r2   r   r)  	utcoffsetr1   r   )r   r   r  utc_valsr7   r   r   right2s           r   test_iter_zoneinfo_fold)TestDatetimeArray.test_iter_zoneinfo_fold  s%   
 ==!!&&v.Drw78B88<BHH
 	M! (((9KL[Z^ 	 1vS	!4yCJ&&& ~~5??#4444 F#A&4yCK'''~~6#3#3#5555r   r)   )
2M2SM2sm2Qz2Q-SEP1Yz2Y-MAR2mz2q-sep2yc                    SU 3n[         R                  " [        US9   [        R                  " SSUS9  S S S 5        g ! , (       d  f       g = fNzInvalid frequency: rZ   1/1/2000r   rQ   r_   r`   ra   r.   r/   r   r)   rc   s      r   &test_date_range_frequency_M_Q_Y_raises8TestDatetimeArray.test_date_range_frequency_M_Q_Y_raises  s:    
 $D6*]]:S1MM*ad; 211	   ?
A	freq_depr)2MIN2nS2Usc                F   SUSS   SUR                  5       SS   S3n[        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)	N'r@   zE' is deprecated and will be removed in a future version, please use 'z
' instead.r  r   rQ   rZ   )lowerr.   r/   rJ   assert_produces_warningr   assert_index_equal)r   r  depr_msgrM   rt   s        r   .test_date_range_uppercase_frequency_deprecated@TestDatetimeArray.test_date_range_uppercase_frequency_deprecated  s     	!" ++4??+<QR+@*AM 	
 ==QY__=NO''hG]]:qyIF H
fh/ HGs   B
B )	z2ye-mar2ys2qez2qs-feb2bqs2sms2bms2cbme2mec                    SU 3n[         R                  " [        US9   [        R                  " SSUS9  S S S 5        g ! , (       d  f       g = fr  r  r  s      r   *test_date_range_lowercase_frequency_raises<TestDatetimeArray.test_date_range_lowercase_frequency_raises$  s:     $D6*]]:S1MM*ad; 211r  c                    Sn[         R                  " SSSS9n[        R                  " [        US9   [         R                  " SSSS9nS S S 5        [        R
                  " WU5        g ! , (       d  f       N&= f)Nz9'w' is deprecated and will be removed in a future versionr  r   2WrQ   rZ   2w)r.   r/   rJ   r  r   r  )r   r  rM   rt   s       r   .test_date_range_lowercase_frequency_deprecated@TestDatetimeArray.test_date_range_lowercase_frequency_deprecated8  s[    N==QTB''hG]]:qtDF H
fh/ HGs   A))
A7)1Az2A-MARz2a-marc                    SU 3n[         R                  " [        US9   [        R                  " SSUS9  S S S 5        g ! , (       d  f       g = fr  r  r  s      r   "test_date_range_frequency_A_raises4TestDatetimeArray.test_date_range_frequency_A_raisesA  8    #D6*]]:S1MM*ad; 211r  )2H2CBH2Sc                    SU 3n[         R                  " [        US9   [        R                  " SSUS9  S S S 5        g ! , (       d  f       g = fr  r  r  s      r   *test_date_range_uppercase_frequency_raises<TestDatetimeArray.test_date_range_uppercase_frequency_raisesH  r  r  r<   N)5r   r   r   r   r   r   r  r
  r_   r   r   r  intr   int32rB   r  r!  r%  r-  r1  r6  r.   r\   r  r   r:  r@  rJ  rS  ri  ro  rr  r~  r  r   r   rA   rC   rr   r  r  r  r  r  r  r  r  r  r  r  r  r   r<   r   r   r   r   F  s   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 [[F66B [[R<	< [[[*@A
0 B
0 [[
	
<<0 [[V%?@< A< [[V%9:< ;<r   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@   rY   r,   z+call pd.factorize\(obj, sort=True\) insteadrZ   T)sortr   )r
   r^   r_   r`   NotImplementedError	factorize)r7   rc   tdas      r    test_factorize_sort_without_freqr  P  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   numpyr   r_   pandas._libs.tslibsr   pandas.compat.numpyr   r   pandas.errorsr   pandas.core.dtypes.dtypesr	   pandasr.   pandas._testing_testingrJ   pandas.core.arraysr
   r   r   r   r   r  r<   r   r   <module>r     s`    #     * ) 5  A; A;H!: !:HG< G<T
!r   