
    Mhd*              
          S SK J r JrJr  S SKJr  S SKrS SKrS SKrS SK	J
r
JrJrJrJrJr  S SKJr   " S S5      r " S S\ 5      r\R*                  R-                  S	\" S
SS5      \" SS94\" SS9\" S
SS5      4/5      S 5       rg)    )datetime	timedeltatimezone)gettzN)OutOfBoundsDatetimeOutOfBoundsTimedelta	Timedelta	Timestampoffsets	to_offsetc                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS r\R                   R#                  S\" SS9\R(                  " SS5      \" SS9/5      S 5       r\R                   R#                  S\R(                  " SS5      S4\R(                  " SS5      S4\R(                  " SS5      S4\R(                  " SS5      S4/5      S 5       r\R                   R#                  S\" S5      \" SSS9/5      \R                   R#                  SS \R2                  " S 5      \R4                  " S S!/\R6                  S"9\R4                  " SS#/\R8                  S"9/5      S$ 5       5       r\R                   R#                  S%S&S'/5      S( 5       r\R                   R#                  S%S&S'/5      S) 5       rS* r \R                   R#                  S+\!RD                  " S,5      \#" S,5      S,S-/5      S. 5       r$S/r%g0)1TestTimestampArithmetic   c                     [        S5      n[        S5      S-  n[        S5      nX-   U:X  d   eX!-   U:X  d   e[        S5      nX-
  U:X  d   eg )N2000/1/1Dd   z
2000/04/10z
1999/09/23)r
   r   )selfstampoffset_no_overflowexpecteds       _/var/www/html/env/lib/python3.13/site-packages/pandas/tests/scalar/timestamp/test_arithmetic.pytest_overflow_offset,TestTimestampArithmetic.test_overflow_offset   sd     *%&s^c1\*)X555!)X555\*)X555    c                 V   [        S5      R                  S5      nS[        R                  " S5      -  nSn[        R
                  " [        US9   X-     S S S 5        [        R
                  " [        US9   X!-     S S S 5        [        R
                  " [        US9   X-
    S S S 5        [        S5      R                  S5      n[        S5      S	-  nS
n[        R
                  " [        US9   X-     S S S 5        [        R
                  " [        US9   X!-     S S S 5        [        R
                  " [        US9   X-
    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ny= f! , (       d  f       g = f)Nz2017-01-13 00:00:00nsi3   zECannot cast -?20169940 days \+?00:00:00 to unit='ns' without overflowmatchr   r   l    d(	 zHCannot cast -?10000000000 days \+?00:00:00 to unit='ns' without overflow)r
   as_unitr   Daypytestraisesr   r   )r   r   offset_overflowlmsg2lmsg3s        r   test_overflow_offset_raises3TestTimestampArithmetic.test_overflow_offset_raises'   s@    /088>"W[[^3X]]/u=# > ]]/u=# > ]]/u=# > *%--d3#C.61 X 	 ]]/u=# > ]]/u=# > ]]/u=# >=1 >= >= >= >= >= >=sH   E5EE'+E8F	7F
E
E$'
E58
F	
F
F(c                 0   Sn[        S5      R                  S5      n[        S5      R                  S5      n[        R                  " [        US9   X#-
    S S S 5        X#R                  5       -
  UR                  5       U-
  :X  d   eg ! , (       d  f       N8= f)NzResult is too largez2101-01-01 00:00:00r   z1688-01-01 00:00:00r   )r
   r!   r#   r$   r   to_pydatetime)r   msgabs       r   test_overflow_timestamp_raises6TestTimestampArithmetic.test_overflow_timestamp_raisesJ   s{    #+,44T:+,44T:]].c:E ; OO%%1??+<q+@AAA	 ;:s   B
Bc                 n    [        S5      nU[        S5      -   nUR                  UR                  :X  d   eg )Nl   { |%*x r   )r
   r   
nanosecond)r   valresults      r   test_delta_preserve_nanos1TestTimestampArithmetic.test_delta_preserve_nanosV   s3    +,y|#  CNN222r   c                 F   [        S5      n[        SUS9nX2-   nXC-
  U:X  d   eUR                  5       U-
  U:X  d   eUc  UR                  5       U-
  U:X  d   eg Sn[        R
                  " [        US9   UR                  5       U-
    S S S 5        g ! , (       d  f       g = f)Nl   @~z
2021-01-01tzz;Cannot subtract tz-naive and tz-aware datetime-like objectsr   )r	   r
   r+   to_datetime64r#   r$   	TypeError)r   tz_naive_fixturetdtsotherr,   s         r   test_rsub_dtscalars+TestTimestampArithmetic.test_rsub_dtscalars[   s    }%|(89zR""$r)R///#&&(2-333OCy4##%* 544s   5B
B c                     [        SSS5      n[        [        SSS5      5      nX!-
  R                  S:X  d   eX-
  R                  S:X  d   eg )N  
         r   )r   r
   days)r   dtr>   s      r   test_timestamp_sub_datetime3TestTimestampArithmetic.test_timestamp_sub_datetimej   sK    dB#xb"-.~~"""~~###r   c                     [        S5      n[        SSSS[        R                  S9nX-
  n[	        U[
        5      (       d   eU[        S5      :X  d   eg )Nz2020-10-22T22:00:00+00:00i  rD      tzinfoz0 days)r
   r   r   utc
isinstancer	   r   t1t2r4   s       r   test_subtract_tzaware_datetime6TestTimestampArithmetic.test_subtract_tzaware_datetimep   sP    23dBBx||<&),,,,8,,,,r   c                     [        S5      R                  S5      n[        S5      R                  S5      nX-
  n[        U[        5      (       d   eU[        S5      :X  d   eg )N20130101
US/EasternCET0 days 06:00:00)r
   tz_localizerQ   r	   rR   s       r   /test_subtract_timestamp_from_different_timezoneGTestTimestampArithmetic.test_subtract_timestamp_from_different_timezoney   sZ    z"..|<z"..u5&),,,,#45555r   c                     [        SSS[        [        SS95      S9n[        S5      R	                  S5      nX-
  n[        U[        5      (       d   eU[        S5      :X  d   eX!-
  n[        U[        5      (       d   eU[        S	5      :X  d   eg )
NrC   r   hoursrN   rX   rZ   r[   z-1 days +18:00:00)r   r   r   r
   r\   rQ   r	   rR   s       r   5test_subtracting_involving_datetime_with_different_tzMTestTimestampArithmetic.test_subtracting_involving_datetime_with_different_tz   s    dAq)"2E)FGz"..u5&),,,,#45555&),,,,#67777r   c                     [        S5      nUR                  S5      nUR                  U5      [        S5      -   nXC-
  n[	        U[        5      (       d   eU[        S5      :X  d   eg )NrX   UTCz0 days 05:00:00)r
   r\   
tz_convertr	   rQ   )r   tz_aware_fixturet_rawt_UTCt_diffr4   s         r   $test_subtracting_different_timezones<TestTimestampArithmetic.test_subtracting_different_timezones   sf    *%!!%(!!"23i@Q6RR&),,,,#45555r   c                 >   [        SSS5      n[        SS9n[        U5      nSn[        R                  " [
        US9   US-     S S S 5        [        R                  " [
        US9   US-
    S S S 5        [        X1-
  5      [        :X  d   e[        X2-   5      [        :X  d   e[        X2-
  5      [        :X  d   e[        R                  " SS5      n[        X5-   5      [        :X  d   e[        X5-
  5      [        :X  d   eg ! , (       d  f       N= f! , (       d  f       N= f)	Ni        r   )secondsz Addition/subtraction of integersr   r   )
r   r   r
   r#   r$   r;   typer	   nptimedelta64)r   rI   r=   r>   r,   td64s         r   test_addition_subtraction_types7TestTimestampArithmetic.test_addition_subtraction_types   s     dAq!q!r]0]]9C0F 1 ]]9C0F 1
 BG}	)))BG}	)))BG}	))) ~~a%BI)+++BI)+++! 10 10s   C=$D=
D
Dr=   ro   ra   hc                      UnX-   X1-   :X  d   eg )N )r   r=   fixed_now_tsr>   s       r   test_radd_tdscalar*TestTimestampArithmetic.test_radd_tdscalar   s    
 w"'!!!r   zother,expected_differenceir   iIusimsi@+c                     [         R                  " [        R                  5      n[	        U5      R                  S5      nXA-   nUR                  UR                  -
  nXb:X  d   e[	        U5      nXq-   U:X  d   eg )Nr   )r   nowr   rP   r
   r!   _value)r   r?   expected_differencer   r>   r4   valdiffts2s           r   #test_timestamp_add_timedelta64_unit;TestTimestampArithmetic.test_timestamp_add_timedelta64_unit   sh     ll8<<(s^##D)--"))+---n{f$$$r   r>   z
1776-07-04rf   r8   r?   r      dtyperp   c                    Sn[         R                  " [        US9   X-     S S S 5        [         R                  " [        US9   X!-     S S S 5        [         R                  " [        US9   X-
    S S S 5        Sn[         R                  " [        US9   X!-
    S S S 5        g ! , (       d  f       N= f! , (       d  f       Nn= f! , (       d  f       NY= f! , (       d  f       g = f)Nz3Addition/subtraction of integers and integer-arraysr   zunsupported operand type)r#   r$   r;   )r   r>   r?   r,   s       r   test_add_int_with_freq.TestTimestampArithmetic.test_add_int_with_freq   s    " D]]9C0J 1]]9C0J 1 ]]9C0J 1 )]]9C0J 10 1000 10 10s/   BB/(C C
B,/
B= 
C
Cshape)   )r   ro   c                 ^   [        S5      R                  S5      n[        R                  " S5      R	                  S5      R                  U5      nX#-   n[        S5       Vs/ s H  oR[        US9-   PM     nn[        R                  " U Vs/ s H  owR                  PM     snSS9R                  U5      n[        R                  " XH5        X2-   n[        R                  " XH5        X#-
  n[        S5       Vs/ s H  oR[        US9-
  PM     nn[        R                  " U Vs/ s H  owR                  PM     snSS9R                  U5      n[        R                  " XH5        Sn	[        R                  " [        U	S	9   X2-
    S S S 5        g s  snf s  snf s  snf s  snf ! , (       d  f       g = f)
N2020-04-04 15:45r   r   m8[h]ra   zM8[ns]r   Dunsupported operand type\(s\) for -: 'numpy.ndarray' and 'Timestamp'r   )r
   r!   rs   arangeastypereshaperanger	   arrayasm8tmassert_numpy_array_equalr#   r$   r;   )
r   r   r>   r?   r4   n	ex_stampsxr   r,   s
             r   test_addsub_m8ndarray-TestTimestampArithmetic.test_addsub_m8ndarray   sQ    )*2248		!##G,44U;6;Ah?h)!,,h	?88Y7YVVY7xHPPQVW
##F5
##F56;Ah?h)!,,h	?88Y7YVVY7xHPPQVW
##F5U]]9C0J 10 @7 @7 10s$    F
F6F!F<F
F,c                    [        SSS9n[        R                  " S5      R                  S5      R	                  U5      nX#-   n[        S5       Vs/ s H  oR[        US9-   PM     nn[        R                  " U5      R	                  U5      n[        R                  " XG5        X2-   n[        R                  " XG5        X#-
  n[        S5       Vs/ s H  oR[        US9-
  PM     nn[        R                  " U5      R	                  U5      n[        R                  " XG5        Sn[        R                  " [        US9   X2-
    S S S 5        g s  snf s  snf ! , (       d  f       g = f)	Nr   z
US/Pacificr8   r   r   ra   r   r   )r
   rs   r   r   r   r   r	   r   r   r   r#   r$   r;   )	r   r   r>   r?   r4   r   r   r   r,   s	            r   test_addsub_m8ndarray_tzaware5TestTimestampArithmetic.test_addsub_m8ndarray_tzaware  s    )l;		!##G,44U;6;Ah?h)!,,h	?88I&..u5
##F5
##F56;Ah?h)!,,h	?88I&..u5
##F5U]]9C0J 10 @ @
 10s   EE:E
E c                 n    [        SSS5      n[        X1S9n[        X2S9nXE-
  n[        S5      nXg:X  d   eg )Ni  r   r8   r   )r   r
   r	   )r   utc_fixtureutc_fixture2rI   ts1r   r4   r   s           r   #test_subtract_different_utc_objects;TestTimestampArithmetic.test_subtract_different_utc_objects  s@    dAq!+,Q<!!!r   r9   rY   zdateutil/US/Easternc                 R    [        SUS9nU[        SS9-   n[        SUS9nX4:X  d   eg )Nz3/10/2012 22:00r8   r   ra   z3/11/2012 05:00)r
   r   )r   r9   r   r4   r   s        r   3test_timestamp_add_timedelta_push_over_dst_boundaryKTestTimestampArithmetic.test_timestamp_add_timedelta_push_over_dst_boundary&  s;     +3++ .26!!!r   rz   N)&__name__
__module____qualname____firstlineno__r   r(   r/   r5   r@   rJ   rU   r]   rc   rl   rv   r#   markparametrizer	   rs   rt   r   r|   r   r
   int64r   int32uint64r   r   r   r   pytzr   r   r   __static_attributes__rz   r   r   r   r      s*   6!$F
B3
+$-686,4 [[yq!2>>!S#991;MN""
 [[#^^D$'.^^J-z:^^D$'1^^D$'4		
%% [[l#lu-	
 [[HHQKHHaV288,HHaV299-		
  [[WtVn5 6. [[WtVn5 60" [[MM,',!		
""r   r   c                       \ rS rSrSrg)SubDatetimei=  rz   N)r   r   r   r   r   rz   r   r   r   r   =  s    r   r   zlh,rh  r   ra   c                 6    X-   n[        SSSS5      nX#:X  d   eg )Nr   r   )r   )lhrhr4   r   s       r   test_dt_subclass_add_timedeltar   A  s'     WF4Aq)Hr   )r   r   r   dateutil.tzr   numpyrs   r#   r   pandas._libs.tslibsr   r   r	   r
   r   r   pandas._testing_testingr   r   r   r   r   r   rz   r   r   <module>r      s          b" b"J		( 	 	T1a	 )!"45		[q!45r   