
    Mh-                     >   S r SSKJrJr  SSKJrJrJr  SSKrSSK	r	SSK
J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Jr  SS
KJr  SSKJrJrJrJrJrJ r   \\\ \\\/r!S r"S r#\	RH                  RK                  S\!5      \" SSS9\" SSS9\" SSS9\" \\S9S 5       5       5       5       5       r&\	RH                  RN                  \	RH                  RK                  S\!5      \" SSS9\" \\S9S 5       5       5       5       r(S r)S r*S r+S r,S r-S r.S r/S r0\	RH                  RK                  S \\" SS!94\\" SSS"94\ \" SSS#94\\" SSS$94\\" SSS%94\\" SSS&94/5      S' 5       r1S( r2\	RH                  RK                  S\!5      S) 5       r3S* r4\	RH                  RK                  S\!5      S+ 5       r5\	RH                  RK                  S,\!5      \	RH                  RK                  S-\!5      S. 5       5       r6\	RH                  RK                  S\!5      S/ 5       r7\	RH                  RK                  S\!5      S0 5       r8\	RH                  RK                  S\!5      S1 5       r9\	RH                  RK                  S\!5      S2 5       r:\	RH                  RK                  S\!5      S3 5       r;g)4z'
Tests for offsets.Tick and subclasses
    )datetime	timedelta)assumeexamplegivenN)delta_to_tick)OutOfBoundsTimedelta)	Timedelta	Timestamp)INT_NEG_999_TO_POS_999)assert_offset_equal)offsets)HourMicroMilliMinuteNanoSecondc                      [         R                  " S5      [         R                  " S5      -   n [         R                  " S5      nX:X  d   eg )N         )r   r   )resultexps     Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/tseries/offsets/test_ticks.pytest_apply_ticksr   /   s3    \\!_w||A.F
,,q/C==    c                      [        S5      n [        U 5      nU[        R                  " S5      :X  d   e[	        SS9n[        U5      nU[        S5      :X  d   eg )Nr      )nanoseconds)r   r   r   Dayr
   r   )deltaticktds      r   test_delta_to_tickr%   5   sO    aLED7;;q>!!!	q	!BD47??r   cls   r   )nmi   i,    r   c                 t    U " U5      nU " U5      nU " X-   5      nX4-   U:X  d   eU " X-
  5      nX4-
  U:X  d   eg )N )r&   r(   r)   leftrightexpecteds         r   test_tick_add_subr0   @   sL     q6DFE15zH<8###15zH<8###r   c                     [        X!:g  5        U " U5      nU " U5      nX4:w  d   eU " U5      nX4:X  d   eX4:w  a   eUS:w  a  U " U5      U " U* 5      :w  d   eg g )Nr   )r   )r&   r(   r)   r-   r.   s        r   test_tick_equalityr2   S   sk    
 16Nq6DFE==FE==}Av1vaR    r   c            
      <   [        [        5       [        SSS5      [        SSSS5      5        [        [        S5      [        SSSS5      [        SSS5      5        [        S[        5       -  [        SSS5      [        SSSS5      5        [        S[        5       -  [        SSSS5      [        SSS5      5        [        S5      [        S5      -   [        S5      :X  d   e[        S5      [        S5      -
  [        5       :X  d   e[        S5      [        S5      :w  d   eg )N     r'   r   r   r   )r   r   r   r,   r   r   	test_Hourr7   i   s    q! 4htQ16MNR(4Aq"98D!Q;OPDF
HT1a$8(4Aq:QRTVXdAq!%<htQPQ>RS7T!WQ'''7T!W&&&7d1gr   c                  B   [        [        5       [        SSS5      [        SSSSS5      5        [        [        S5      [        SSSSS5      [        SSS5      5        [        S[        5       -  [        SSS5      [        SSSSS5      5        [        S[        5       -  [        SSSSS5      [        SSS5      5        [        S5      [        S5      -   [        S5      :X  d   e[        S5      [        S5      -
  [        5       :X  d   e[        S5      [        5       :w  d   eg Nr4   r5   r   r6   r'   r   r   )r   r   r   r,   r   r   test_Minuter:   u   s    (4A"6q!QPQ8RSr
HT1aA$>qRS@TUFHhtQ&:HT1aQRTU<VWVXxaAq'A8DRSUVCWX!9vay F1I---!9vay FH,,,!9   r   c                     [        [        5       [        SSS5      [        SSSSSS5      5        [        [        S5      [        SSSSSS5      [        SSS5      5        [        S[        5       -  [        SSS5      [        SSSSSS5      5        [        S[        5       -  [        SSSSSS5      [        SSS5      5        [        S5      [        S5      -   [        S5      :X  d   e[        S5      [        S5      -
  [        5       :X  d   eg r9   )r   r   r   r,   r   r   test_Secondr<      s    (4A"6q!QPQST8UVr
HT1aAq$A8DRSUVCWX	FHhtQ*HT1aAq,I 
VXxaAq!4htQ6J !9vay F1I---!9vay FH,,,r   c                     [        [        5       [        SSS5      [        SSSSSSS5      5        [        [        S5      [        SSSSSSS5      [        SSS5      5        [        [        S5      [        SSS5      [        SSSSSSS5      5        [        S[        5       -  [        SSS5      [        SSSSSSS5      5        [        S[        5       -  [        SSSSSSS5      [        SSS5      5        [        S5      [        S5      -   [        S	5      :X  d   e[        S5      [        S5      -
  [        5       :X  d   eg )
Nr4   r5   r   r*   r6   r'   i  r   r   )r   r   r   r,   r   r   test_Millisecondr>      s+   $1%xaAq!T'J b	8D!Q1a6q!8L a(4A&q!Q1d(K 	EGXdAq)8D!Q1a+N 
UWhtQ1aD98D!Q;O 8eAh%(***8eAh%')))r   c                      [        [        5       [        S5      [        S5      5        [        [        S5      [        S5      [        S5      5        g )Nz
2010-01-01z2010-01-01 00:00:00.001r6   )r   r   r   r,   r   r   #test_MillisecondTimestampArithmeticr@      s>    <()4M*N b	967<9Pr   c                      [        [        5       [        SSS5      [        SSSSSSS5      5        [        [        S5      [        SSSSSSS5      [        SSS5      5        [        S[        5       -  [        SSS5      [        SSSSSSS5      5        [        S[        5       -  [        SSSSSSS5      [        SSS5      5        [        S5      [        S5      -   [        S5      :X  d   e[        S5      [        S5      -
  [        5       :X  d   eg r9   )r   r   r   r,   r   r   test_MicrosecondrB      s    $1!5xaAqRSUV7WXb	8D!Q1a3XdAq5I 	EGXdAq)8D!Q1a+K 
UWhtQ1aA6q!8L 8eAh%(***8eAh%')))r   c                      [        [        SSS5      5      n U R                  S:X  d   eU [        S5      -   nUR                  S:X  d   e[        S5      U -   nUR                  S:X  d   eg )Nr4   r5   r   
   )r   r   
nanosecondr   )	timestampr   reverse_results      r   test_NanosecondGenericrH      sm    (4A./I1$$$b!F""""X	)N$$***r   c            	         [        [        SSS5      5      n [        [        5       X [        R
                  " SS5      -   5        [        [        S5      U [        R
                  " SS5      -   U 5        [        S[        5       -  X [        R
                  " SS5      -   5        [        S[        5       -  U [        R
                  " SS5      -   U 5        [        S5      [        S5      -   [        S5      :X  d   e[        S5      [        S5      -
  [        5       :X  d   e[        S5      [        S5      -   [        S	5      :X  d   e[        S5      [        S5      -   [        S
5      :X  d   e[        S5      [        S5      -   [        S5      :X  d   eg )Nr4   r5   nsr6   r'   r   r   rD      i  i  )r   r   r   r   nptimedelta64r   )rF   s    r   test_NanosecondrN      s.   (4A./I	r~~a7N+NOR)bnnQ.E"EyQDF
I2>>!T;R/RSTVY41H%H)T7T!WQ'''7T!W&&& 7T"Xb)))7U1Xd+++8d1gd+++r   zkls, expectedhours)rP   minutes)rP   seconds)rP   milliseconds)rP   microseconds)rP   r    c                     U " S5      n[        SS9nX3R                  5       UR                  5       4 HG  nX$-   n[        U[         5      (       d   eXQ:X  d   eXB-   n[        U[         5      (       d   eXQ:X  a  MG   e   g )Nr   r'   rO   )r
   to_pytimedeltato_timedelta64
isinstance)klsr/   offsetr$   otherr   s         r   test_tick_additionr\      s     VF		B'')2+<+<+>?&),,,,!!!&),,,,!!! @r   c                     [         R                  " S5      n SnSn[        R                  " [        US9   [
        R                  " [        US9   U R                    S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Ni ʚ;zBCannot cast 1000000000 days 00:00:00 to unit='ns' without overflowzDay.delta is deprecatedmatch)	r   r!   pytestraisesr	   tmassert_produces_warningFutureWarningr"   )r#   msgdepr_msgs      r   test_tick_delta_overflowrg      s^    ;;uD
NC(H	+3	7''XFJJ G 
8	7FF 
8	7s#   A=A,A=,
A:	6A==
Bc                    U " S5      nX" S5      -  S:X  d   eUS-  U " S5      :X  d   eUS-  U " S5      :X  d   eXR                   -  S:X  d   eXR                   R                  5       -  S:X  d   eU[        S5      -  UR                   [        S5      R                   -  :X  d   eU [        LaW  US-  n[        U[        R
                  5      (       d   e[        X 5      (       a   eUR                   UR                   S-  :X  d   eU R                  [        SS9R                  :  aX  US-  n[        U[        R
                  5      (       d   e[        X 5      (       a   eUR                   UR                   S-  :X  d   eg g )	NrD   r   r'          @r5   r*   )rR   gMbP?)	_as_pd_timedeltarW   r   rX   r   Tick
_nanos_incr
   _value)r&   offr   s      r   test_tick_divisionro      sr   
b'CQ<17c!f9A%%%***%%4466!;;;a=C00473K3KKKKK
$t&',,////f****&&#*>*>*EEEE
~~	!,333u&',,////f****&&#*>*>*FFFF 4r   c                      [        S5      n U S-  n[        S5      nX:X  d   e[        U[         5      (       d   eU S-  n[        S5      nX:X  d   e[        U[        5      (       d   eg )Nr'   g      ?r   g      ?i	  )r   rX   r   )rn   r   r/   s      r   test_tick_mul_floatrq     sq    
(C 3YFQxHfe$$$$ 4ZFDzHfd####r   c                    U " S5      nUR                   nUR                  5       nSR                  U R                  U R                  /5      nSU S3n[
        R                  " [        US9   SU-    S S S 5        [
        R                  " [        US9   SU-    S S S 5        US-  U-  S:X  d   eU [        La  UR                  5       S-  U-  S:X  d   e[        R                  " SU-  U/5      U-  n[        R                  " SS	/5      n[        R                  " Xg5        g ! , (       d  f       N= f! , (       d  f       N= f)
NrD   .z9unsupported operand type\(s\) for \/: 'int'|'float' and ''r^   r'   ri   g      @g      ?)rj   rW   join
__module____name__r`   ra   	TypeErrorr   rV   rL   arrayrb   assert_numpy_array_equal)r&   rn   r"   td64instance__typere   r   r/   s           r   test_tick_rdivr}   '  s   
b'C  E!DXXs~~s||<=N	1	 
 
y	,	C 
-	y	,c	 
- 3J#$$$
$$$&*c1Q666XXq4x&'#-Fxxc
#H1 
-	,	,	,s   +D D1 
D.1
D?cls1cls2c                    U " S5      U" S5      :X  d   eU " S5      U" S5      -   U " S5      :X  d   eU [         La  U " S5      U" S5      -   U " S5      :X  d   eU [         L a!  U " S5      [        S5      -   U " S5      :X  d   eg g )Nr   r'   )r   )r~   r   s     r   test_tick_zeror   B  s     7d1g7T!WQ'''4Awa DG+++t|Awa DG+++ r   c                 *    U " 5       U " S5      :X  d   eg )Nr5   r,   )r&   s    r   test_tick_equalitiesr   O  s    5CF??r   c                     U R                    S3n[        R                  " [        US9   U " 5       R	                  5       (       a   e S S S 5        g ! , (       d  f       g = f)Nz.is_anchored is deprecated r^   )rw   rb   rc   rd   is_anchored)r&   re   s     r   test_tick_offsetr   T  sI    \\N5
6C		#	#M	=5$$&&&&& 
>	=	=s   A
Ac                     U " S5      nU " S5      nX" S5      :  d   eU " S5      U:  d   eX " S5      :  d   eU " S5      U:  d   eU " S5      U " S5      :X  d   eU " S5      U " S5      :w  d   eg )Nr   r   r,   )r&   threefours      r   test_compare_ticksr   \  s    FEq6D3q6>>q6D==#a&==q6E>>q6SVq6SVr   c                 p   U " S5      nUS:X  a   eSU:X  a   eSR                  U R                  U R                  /5      nSU SU S3nSU4US44 H  u  pE[        R                  " [
        US9   XE:    S S S 5        [        R                  " [
        US9   XE:*    S S S 5        [        R                  " [
        US9   XE:    S S S 5        [        R                  " [
        US9   XE:    S S S 5        M     g ! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       N[= f! , (       d  f       M  = f)	N   inferfoors   z@'<'|'<='|'>'|'>=' not supported between instances of 'str' and 'z'|'z' and 'str'r^   )ru   rv   rw   r`   ra   rx   )r&   rn   instance_typere   r-   r.   s         r   test_compare_ticks_to_strsr   i  s     b'C
 g~|HHcnncll;<M	#_Ck	C 
 !#g7]]9C0L 1]]9C0M 1]]9C0L 1]]9C0M 10 800000000s0   /C3D;D!D&3
D	
D	
D#	&
D5	c                    U " S5      nUR                   nX"R                  5       /nU [        La  UR                  UR	                  5       5        U H-  nX:X  d   eX:w  a   eX:  a   eX:  a   eX::  d   eX:  a  M-   e   g )Nr   )rj   rW   r   appendrV   )r&   rn   r$   othersr[   s        r   #test_compare_ticks_to_timedeltaliker     s    
b'C			B##%&F
$b'')*||<;;|||| r   )<__doc__r   r   
hypothesisr   r   r   numpyrL   r`   pandas._libs.tslibs.offsetsr   pandas.errorsr	   pandasr
   r   pandas._testing_testingrb   pandas._testing._hypothesisr   #pandas.tests.tseries.offsets.commonr   pandas.tseriesr   pandas.tseries.offsetsr   r   r   r   r   r   tick_classesr   r%   markparametrizer0   arm_slowr2   r7   r:   r<   r>   r@   rB   rH   rN   r\   rg   ro   rq   r}   r   r   r   r   r   r   r,   r   r   <module>r      s  
 
   5 .  > C "  ffeUD9 -13#41	#9:$ ;    .
$ -1	#9:! ;  . !$	!-***"+,  	yq!"	A./	A./		23		23	yqa01
"
" -G .G6$  -2 .24 .., / /, - . -' .' -	 .	 - .6 - .r   