+
    yȇi?              
          R t ^ RIt^ RIHtHtHt ^ RIt^ RIt^ RIHt ^ RI	H
t ^ RIt^ RIt^ RIHt ^ RIHtHtHtHtHtHt ^ RIHt ^ RIHt  ! R R4      t]! ]P<                  ! ]! R	^^4      ]! R
^^4      R7      ]P>                  ! ^^
R7      ]P@                  ! . RO4      R7      ]PB                  PD                  R 4       4       t#R# )zL
Tests for DatetimeIndex methods behaving like their Timestamp counterparts
N)datedatetimetime)given)	timezones)DatetimeIndexIndexNaT	Timestamp
date_rangeoffsets)DatetimeArrayc                   t  a  ] tR t^!t o R tR tR t]P                  P                  R. R.O4      R 4       t
]P                  P                  R. R.O4      R 4       tR t]P                  P                  R	. R/O4      R
 4       tR t]P                  P                  RRR.4      R 4       t]P                  P                  RR.]P"                  ! 4       O4      R 4       tR t]P                  P                  RRR.4      R 4       tR tR tR t]P                  P                  RRR^]P2                  ! . R0O4      3RR^]P2                  ! . R1O4      3RR^]P2                  ! . R2O4      3.4      R 4       t]P                  P                  RRR^]P2                  ! . R1O4      3RR ^]P2                  ! . R1O4      3RR!^]P2                  ! . R2O4      3.4      R" 4       t]P                  P                  RRR^]P2                  ! . R0O4      3RR^]P2                  ! . R2O4      3RR^]P2                  ! . R2O4      3.4      R# 4       t]P                  P                  RRR^]P2                  ! . R1O4      3RR ^]P2                  ! . R2O4      3RR!^]P2                  ! . R2O4      3.4      R$ 4       t]P                  P                  RRR^]P2                  ! . R2O4      3RR^]P2                  ! . R2O4      3RR^]P2                  ! . R2O4      3.4      R% 4       t]P                  P                  RRR^]P2                  ! . R2O4      3RR ^]P2                  ! . R2O4      3RR!^]P2                  ! . R2O4      3.4      R& 4       tR' t R( t!]P                  P                  R)R*]"PF                  ! ^4      .4      R+ 4       t$R, t%R-t&V t'R# )3TestDatetimeIndexOpsc                Z   R p\         P                  ! \        VR7      ;_uu_ 4        \        P                   RRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        \        . 4      P                   RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)z:type object 'DatetimeIndex' has no attribute 'millisecond'matchNz5'DatetimeIndex' object has no attribute 'millisecond')pytestraisesAttributeErrorr   millisecond)selfmsgs   & ځ/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/indexes/datetimes/test_scalar_compat.pytest_dti_no_millisecond_field2TestDatetimeIndexOps.test_dti_no_millisecond_field"   sj    J]]>55%% 6 F]]>55")) 65	 65 655s   B&BB	B*	c                    \        R R^
R7      p\        V4      P                  pV Uu. uF  q3P                  4       NK  	  ppW$8H  P                  4       '       g   Q hR# u upi )1/1/200012minfreqperiodsN)r   r   r   allr   rngresulttexpecteds   &    r   test_dti_time"TestDatetimeIndexOps.test_dti_time+   sR    '2>s&)*cFFHc*"'')))) +   Ac                    \        R R^
R7      p\        V4      P                  pV Uu. uF  q3P                  4       NK  	  ppW$8H  P                  4       '       g   Q hR# u upi )r   12hr   N)r   r   r   r"   r#   s   &    r   test_dti_date"TestDatetimeIndexOps.test_dti_date1   sR    %<s&)*cFFHc*"'')))) +r*   dtypeNc                    \         P                  ! \        R ^^4      \        .4      p\	        R\        .VR7      pVP                  p\
        P                  ! WB4       R# )i  z2018-06-04 10:00:00r/   N)nparrayr   r	   r   tmassert_numpy_array_equalr   r/   r'   indexr%   s   &&   r   test_dti_date2#TestDatetimeIndexOps.test_dti_date27   sI     88T$1-s344c:%H
##F5    c                    \         P                  ! \        ^
^^4      \        .4      p\	        R\        .VR7      pVP                  p\
        P                  ! WB4       R# )
   2018-06-04 10:20:30r1   N)r2   r3   r   r	   r   r4   r5   r6   s   &&   r   test_dti_time2#TestDatetimeIndexOps.test_dti_time2D   sI     88T"b"-s344c:%H
##F5r:   c           	         \         P                  ! V4      p\        P                  ! \	        ^
^^VR7      \
        .4      p\        R\
        .VR7      pVP                  p\        P                  ! WS4       R# )r<   )tzinfor=   tzN)
r   maybe_get_tzr2   r3   r   r	   r   timetzr4   r5   )r   tz_naive_fixturerC   r'   r7   r%   s   &&    r   test_dti_timetz$TestDatetimeIndexOps.test_dti_timetzQ   sZ    ##$4588T"b"R8#>?4c:rB
##F5r:   fieldc                    \        R ^
R7      p\        W!4      R,          p\        \        VR,          4      V4      pWC8X  g   Q hR# )
2020-01-01)r!   N)r   getattrr
   )r   rI   idxr'   r%   s   &&   r   test_dti_timestamp_fields.TestDatetimeIndexOps.test_dti_timestamp_fields\   s@    & r23&r*3r7+U3!!!r:   c                    \        \        P                  ! ^
4      4      p\        \        P                  ! ^
\        P                  R7      4      p\
        P                  ! VP                  V4       R# )r<   r1   N)r   r2   aranger   int32r4   assert_index_equal
nanosecond)r   dtir'   s   &  r   test_dti_nanosecond(TestDatetimeIndexOps.test_dti_nanosecondu   sA    BIIbM*2RXX67
cnnh7r:   prefix z	dateutil/c                J   . R	Op\        W!R,           R7      pVP                  ^ 8H  P                  4       '       g   Q h\        RR^
VR,           R7      p\	        \
        P                  ! ^
\
        P                  R7      4      p\        P                  ! VP                  V4       R# )
1/1/2012
US/EasternrB   z2011-10-02 00:00hzAmerica/Atikokan)r    r!   rC   r1   N)r\   z3/1/2012z4/1/2012)
r   hourr"   r   r   r2   rR   rS   r4   rT   )r   rY   strdatesr$   drr'   s   &&    r   test_dti_hour_tzaware*TestDatetimeIndexOps.test_dti_hour_tzaware{   s}    7H,)>?A""$$$$ S"BT9T
 2RXX67
bggx0r:   time_localec                ^   Vf
   . ROp. ROpMd\         P                  ! V\        P                  4      ;_uu_ 4        \        P
                  R,          p\        P                  R,          pR R R 4       \        R\        R^^4      RR7      p. ROp\        \        ^^4      XV4       F  w  rgpVP                  4       pVP                  VR7      V,          V8X  g   Q hVP                  R R7      V,          V8X  g   Q h\        \        R^V4      4      p	V	P                  VR7      V8X  d   K  Q h	  VP                  \        \        .4      4      p\         P"                  ! VP                  VR7      R,          4      '       g   Q h\        \        4      p	\         P"                  ! V	P                  VR7      4      '       g   Q h\        R	R
RR7      pVP                  VR7      p
\%        X Uu. uF  qP                  4       NK  	  up4      pV
P&                  P)                  R4      p
VP&                  P)                  R4      p\         P*                  ! W4       \        WC4       F]  w  rVP                  VR7      p
VP                  4       p\,        P(                  ! RV
4      p
\,        P(                  ! RV
4      pW8X  d   K]  Q h	  VP                  \        \        .4      4      p\         P"                  ! VP                  VR7      R,          4      '       g   Q hR #   + '       g   i     EL; iu upi )N:NNN:   NND  m  r    startr!   )localei  ME20122013)r    rk   endNFD)MondayTuesday	WednesdayThursdayFridaySaturdaySunday)JanuaryFebruaryMarchAprilMayJuneJulyAugust	SeptemberOctoberNovemberDecemberrL   )r4   
set_localerl   LC_TIMEcalendarday_name
month_namer   r   ziprange
capitalizer
   appendr   r	   r2   isnanr   str	normalizerT   unicodedata)r   rd   expected_daysexpected_monthsrV   english_daysdaynameeng_nametsr%   monthr'   items   &&            r   test_day_name_month_name-TestDatetimeIndexOps.test_day_name_month_name   s    MO {FNN;; ( 1 1! 4"*"5"5b"9 <
 c$1)=sK
 $'uQ|]L#QCx??$D<<{<3C8D@@@<<t<,S1X===8D!S12B;;k;2d::: $R jju-.xxK8<====s^xx;78888 d&f={3/J/**,/JK %%e,<<))%0
f/!#7ND__K_8F**,H **5&9F",,UF;H%%% 8 jju-.xxk:2>????] <;;: Ks   /L)L*L'	c                    . ROp\        VRR7      p. ROpVP                  4       P                  P                  4       V8X  g   Q hV Uu. uF  q3P                  NK  	  upV8X  g   Q hR# u upi )
2013/12/29zEurope/BrusselsrB   N)r   z
2013/12/30z
2013/12/31)4   rf   rf   )r   isocalendarweektolist
weekofyear)r   datesr'   ds   &   r   test_dti_week"TestDatetimeIndexOps.test_dti_week   sc     ;e(9:  "''..0H<<<&+,ee,888,s   	A)rC   r]   c                   \        R \        R^^4      RVRR7      pVP                  ^ ,          R8X  g   Q hVP                  ^ ,          ^8X  g   Q hVP                  ^ ,          ^8X  g   Q hVP
                  ^ ,          ^ 8X  g   Q hVP                  ^ ,          ^ 8X  g   Q hVP                  ^ ,          ^ 8X  g   Q hVP                  ^ ,          ^ 8X  g   Q hVP                  ^ ,          ^8X  g   Q hVP                  ^ ,          ^8X  g   Q hVP                  ^x,          ^y8X  g   Q hVP                  4       P                  P                  ^ ,          ^8X  g   Q hVP                  4       P                  P                  ^x,          ^8X  g   Q hVP                  ^ ,          ^8X  g   Q hVP                  ^x,          ^8X  g   Q hVP                  ^ ,          ^8X  g   Q hVP                  ^Z,          ^8X  g   Q hVP                   ^ ,          '       g   Q hVP                   ^,          '       d   Q hVP                   ^,          '       g   Q hVP"                  ^ ,          '       g   Q hVP"                  ^Z,          '       g   Q hVP$                  ^ ,          '       g   Q hVP$                  R,          '       d   Q hVP&                  ^ ,          '       d   Q hVP&                  ^,          '       g   Q hVP&                  ^,          '       d   Q hVP&                  R,          '       g   Q hVP(                  ^ ,          '       d   Q hVP(                  ^,          '       d   Q hVP(                  ^Y,          '       g   Q hVP(                  R,          '       g   Q hVP*                  ^ ,          '       d   Q hVP*                  R,          '       g   Q h\-        VP                  4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP
                  4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP                  4       4      R8X  g   Q h\-        VP                  4      R8X  g   Q h\-        VP                   4      R8X  g   Q h\-        VP&                  4      R8X  g   Q h\-        VP"                  4      R8X  g   Q h\-        VP(                  4      R8X  g   Q h\-        VP$                  4      R8X  g   Q h\-        VP*                  4      R8X  g   Q hRVn        \0        P2                   FK  p\5        W#4      p\-        V4      R8X  g   Q h\7        V\8        4      '       g   Q hVP.                  R8X  d   KK  Q h	  \0        P:                   FB  p\5        W#4      p\-        V4      R8X  g   Q h\7        V\<        P>                  4      '       d   KB  Q h	  W"P"                  ,          pV. R	O,          p\@        PB                  ! WE4       W"PD                  ,          p\G        . R VPH                  RR7      PK                  R4      p\@        PB                  ! WE4       R# )
rg   rh   ri   ns)r    rk   r!   rC   unitil  r   )r    rC   r   N)    Z      i  )&r   r   yearr   r   r_   minutesecondmicrosecond	dayofweek	dayofyearr   r   ilocquarterdays_in_monthis_month_startis_quarter_startis_year_startis_month_endis_quarter_endis_year_endlenr   r   
_field_opsrM   
isinstancer   	_bool_opsr2   ndarrayr4   rT   is_leap_yearr   rC   as_unit)r   rC   rV   accessorresexps   &&    r   test_dti_fields$TestDatetimeIndexOps.test_dti_fields   s    HT1a0#"4
 xx{d"""yy|q   wwqzQxx{azz!}!!!zz!}!!!q!Q&&&}}Q1$$$}}Q1$$$}}S!S((( %%**1-222 %%**3/2555{{1~"""{{31$$$  #r)))  $***!!!$$$$%%a((((!!"%%%%##A&&&&##B''''  ####$$S))))##A&&&&######B''''$$$$%%a((((%%b))))!!"%%%%!!#&&&&??1%%%%s####388}###399~$$$377|s"""388}###3::#%%%3::#%%%3??#s***3==!S(((3==!S(((3??$%,,,3;;3&&&3%%&#---3##$+++3''(C///3%%&#---3$$%,,,3??#s*** &00H#(Cs8s?"?c5))))88v%%%	 1 &//H#(Cs8s?"?c2::.... 0 &&'#$
c'""#BSSVV&AII$O
c'r:   c                   \        R \        R^^4      ^R7      p\        VP                  4      ^ 8X  g   Q h\        VP                  4      ^8X  g   Q h\        VP
                  4      ^ 8X  g   Q h\        VP                  4      ^8X  g   Q hR# )zBQE-FEBrh   rj   N)r   r   sumr   r   r   r   r   rV   s   & r   test_dti_is_year_quarter_start3TestDatetimeIndexOps.test_dti_is_year_quarter_start:  s{    ixa/CQO3''(A---3%%&!+++3$$%***3??#q(((r:   c                T    \        . RO4      pVP                  ^ ,          ^8X  g   Q hR# )
2000-01-01N)r   z
2000-01-02z
2000-01-03)r   r   r   s   & r   test_dti_is_month_start,TestDatetimeIndexOps.test_dti_is_month_startB  s&    FG!!!$)))r:   c                   \         P                  ! R R7      p\        \        R^^4      ^VR7      pRp\        P
                  ! \        VR7      ;_uu_ 4        VP                   RRR4       R#   + '       g   i     R# ; i)zSun Mon Tue Wed Thu)weekmaski  r!   r    z7Custom business days is not supported by is_month_startr   N)r   CustomBusinessDayr   r   r   r   
ValueErrorr   )r   
bday_egyptrV   r   s   &   r   test_dti_is_month_start_custom3TestDatetimeIndexOps.test_dti_is_month_start_customG  sX    ..8MN
$2.
KG]]:S11 2111s   A..A?	z)timestamp, freq, periods, expected_valuesz
2017-12-01MSQSYSc                `    \        WVR 7      P                  p\        P                  ! WT4       R# r   N)r   r   r4   r5   r   	timestampr    r!   expected_valuesr%   s   &&&&& r   test_dti_dr_is_year_start.TestDatetimeIndexOps.test_dti_dr_is_year_startO  s$     I'BPP
##F<r:   rm   QEYEc                `    \        WVR 7      P                  p\        P                  ! WT4       R# r   )r   r   r4   r5   r   s   &&&&& r   test_dti_dr_is_year_end,TestDatetimeIndexOps.test_dti_dr_is_year_end\  s$     I'BNN
##F<r:   c                `    \        WVR 7      P                  p\        P                  ! WT4       R# r   )r   r   r4   r5   r   s   &&&&& r   test_dti_dr_is_quarter_start1TestDatetimeIndexOps.test_dti_dr_is_quarter_starti  s$     I'BSS
##F<r:   c                `    \        WVR 7      P                  p\        P                  ! WT4       R# r   )r   r   r4   r5   r   s   &&&&& r   test_dti_dr_is_quarter_end/TestDatetimeIndexOps.test_dti_dr_is_quarter_endv  $     I'BQQ
##F<r:   c                `    \        WVR 7      P                  p\        P                  ! WT4       R# r   )r   r   r4   r5   r   s   &&&&& r   test_dti_dr_is_month_start/TestDatetimeIndexOps.test_dti_dr_is_month_start  r   r:   c                `    \        WVR 7      P                  p\        P                  ! WT4       R# r   )r   r   r4   r5   r   s   &&&&& r   test_dti_dr_is_month_end-TestDatetimeIndexOps.test_dti_dr_is_month_end  s$     I'BOO
##F<r:   c                    \        R ^RR7      p\        VP                  4      '       g   Q h\        R ^RR7      p\        VP                  4      '       g   Q hR# )
2017-01-0110YSr   10QSN)r   r"   r   r   )r   ra   s   & r   /test_dti_is_year_quarter_start_doubledigit_freqDTestDatetimeIndexOps.test_dti_is_year_quarter_start_doubledigit_freq  sL    af=2##$$$$af=2&&''''r:   c                    \        R ^RR7      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                   RRR4       R#   + '       g   i     R# ; i)rK   2Cr   z6Custom business days is not supported by is_year_startr   N)r   r   r   r   r   )r   ra   r   s   &  r   :test_dti_is_year_start_freq_custom_business_day_with_digitOTestDatetimeIndexOps.test_dti_is_year_start_freq_custom_business_day_with_digit  s>    ad;F]]:S11 2111s   AA	r    3BMSc                
   \        R ^VR7      pV Uu. uF  q3P                  NK  	  ppV. RO8X  g   Q h\        R ^VR7      pV Uu. uF  q3P                  NK  	  pp\        VP                  4      '       g   Q hR# u upi u upi )rK   r   N)TFFFT)r   r   r   r"   )r   r    ra   xr%   s   &&   r   8test_dti_is_year_quarter_start_freq_business_month_beginMTestDatetimeIndexOps.test_dti_is_year_quarter_start_freq_business_month_begin  s~     ad;+-.2a//2.::::ad;.01b$$b12&&'''' / 2s   A;B c                    \        R ^RR7      pVP                  p\        P                  ! RR.4      p\        P
                  ! W#4       R# )r   2Br   TFN)r   r   r2   r3   r4   r5   )r   ra   r%   r'   s   &   r   -test_dti_is_year_start_freq_two_business_daysBTestDatetimeIndexOps.test_dti_is_year_start_freq_two_business_days  s;    ad;!!88T5M*
##F5r:    )Nzdatetime64[ns, CET]zdatetime64[ns, EST]zdatetime64[ns, UTC])r   day_of_weekr   day_of_yearr   r   r   r   r   r   r   r   )FTF)TFF)TTT)(__name__
__module____qualname____firstlineno__r   r(   r-   r   markparametrizer8   r>   rG   rO   rW   rb   r4   get_localesr   r   r   r   r   r   r2   r3   r   r   r   r   r   r   r   r   r   BusinessMonthBeginr  r  __static_attributes____classdictcell__)__classdict__s   @r   r   r   !   s    *** [[S6	6 [[S6	6	6 [[	
""#""8 [[XK'891 :1 [[	! !K@	K@Z9 [[TD,#78S( 9S(j)*
 [[34BHH-A$BC4BHH-A$BC4BHH-?$@A	
==
 [[34BHH-A$BC4BHH-A$BC4BHH-?$@A	
==
 [[34BHH-A$BC4BHH-?$@A4BHH-?$@A	
==
 [[34BHH-A$BC4BHH-?$@A4BHH-?$@A	
==
 [[34BHH-?$@A4BHH-?$@A4BHH-?$@A	
==
 [[34BHH-?$@A4BHH-?$@A4BHH-?$@A	
==
( [[Vfg.H.H.K%LM( N(6 6r:   r   i  i  )	min_value	max_value)dtnr    c                     V V  2p \        V^V R7      p\        VP                  4      pV Uu. uF  qUP                  NK  	  ppWF8X  g   Q hR# u upi )   r   N)r   listr   )r    r  r  r   r%   r  r'   s   &&&    r   test_against_scalar_parametricr    sT     S<D2qt,A!//"F)*+AH+ ,s   A)r   r   r   )$__doc__r   r   r   r   rl   r   
hypothesisr   hypothesis.strategies
strategiesstnumpyr2   r   pandas._libs.tslibsr   pandasr   r   r	   r
   r   r   pandas._testing_testingr4   pandas.core.arraysr   r   	datetimesintegerssampled_fromr  slowr  r	  r:   r   <module>r.     s     
    "   )   ,[6 [6| 	||htQ2htQPQ>RSkkA,	+	,
  r:   