
    A>i*                     L   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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!\	RD                  RF                  \	RD                  RI                  S\5      \" SSS9\" SSS9\" SSS9\" \\S9S 5       5       5       5       5       5       r%\	RD                  RF                  \	RD                  RL                  \	RD                  RI                  S\5      \" SSS9\" \\S9S 5       5       5       5       5       r'S r(S r)S r*S r+S r,S r-S r.S r/\	RD                  RI                  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       r0\	RD                  RI                  S\5      S' 5       r1S( r2\	RD                  RI                  S\5      S) 5       r3\	RD                  RI                  S*\5      \	RD                  RI                  S+\5      S, 5       5       r4\	RD                  RI                  S\5      S- 5       r5\	RD                  RI                  S\5      S. 5       r6\	RD                  RI                  S\5      S/ 5       r7\	RD                  RI                  S\5      S0 5       r8g)1z'
Tests for offsets.Tick and subclasses
    )datetime	timedelta)assumeexamplegivenN)delta_to_tick)	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     f/var/www/html/land-tabula/venv/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   H      )nanoseconds)r   r   r   r   r	   r   )deltaticktds      r   test_delta_to_tickr$   5   sP    aLED7<<####	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_subr/   @   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_equalityr1   T   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_Hourr6   k   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 Nr3   r4   r   r5   r&   r   r   )r   r   r   r+   r   r   test_Minuter9   w   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 r8   )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 )
Nr3   r4   r   r)   r5   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.001r5   )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 r8   )r   r   r   r+   r   r   test_MicrosecondrA      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 )Nr3   r4   r   
   )r
   r   
nanosecondr   )	timestampr   reverse_results      r   test_NanosecondGenericrG      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 )Nr3   r4   nsr5   r&   r   r   rC      i  i  )r
   r   r   r   nptimedelta64r   )rE   s    r   test_NanosecondrM      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)rO   minutes)rO   seconds)rO   milliseconds)rO   microseconds)rO   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&   rN   )r	   to_pytimedeltato_timedelta64
isinstance)klsr.   offsetr#   otherr   s         r   test_tick_additionr[      s     VF		B'')2+<+<+>?&),,,,!!!&),,,,!!! @r   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 )	NrC   r   r&          @r4   r)   )rQ   gMbP?)	_as_pd_timedeltarV   r   rW   r   Tick
_nanos_incr	   _value)r%   offr   s      r   test_tick_divisionrc      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   rW   r   )rb   r   r.   s      r   test_tick_mul_floatre     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)
NrC   .z9unsupported operand type\(s\) for \/: 'int'|'float' and ''matchr&   r]   g      @g      ?)r^   rV   join
__module____name__pytestraises	TypeErrorr   rU   rK   arraytmassert_numpy_array_equal)r%   rb   r!   td64instance__typemsgr   r.   s           r   test_tick_rdivrw     s   
b'C  E!DXXs~~s||<=N
F~FVVWX  
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   )rx   ry   s     r   test_tick_zeror{   9  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 )Nr4   r+   )r%   s    r   test_tick_equalitiesr}   F  s    5CF??r   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   K  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foorg   z@'<'|'<='|'>'|'>=' not supported between instances of 'str' and 'z'|'z' and 'str'ri   )rk   rl   rm   rn   ro   rp   )r%   rb   instance_typerv   r,   r-   s         r   test_compare_ticks_to_strsr   X  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   )r^   rV   r   appendrU   )r%   rb   r#   othersrZ   s        r   #test_compare_ticks_to_timedeltaliker   t  s    
b'C			B##%&F
$b'')*||<;;|||| r   )9__doc__r   r   
hypothesisr   r   r   numpyrK   rn   pandas._libs.tslibs.offsetsr   pandasr	   r
   pandas._testing_testingrr   pandas._testing._hypothesisr   #pandas.tests.tseries.offsets.commonr   pandas.tseriesr   pandas.tseries.offsetsr   r   r   r   r   r   tick_classesr   r$   markslowparametrizer/   arm_slowr1   r6   r9   r;   r=   r?   rA   rG   rM   r[   rc   re   rw   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 .22 .., / /, - . -	 .	 - .6 - .r   