
    Mh                     `    S r SSKrSSKrSSKJr  SSKJrJrJ	r	J
r
Jr  SSKJr   " S S5      rg)zM
Tests for TimedeltaIndex methods behaving like their Timedelta counterparts
    N)INVALID_FREQ_ERR_MSG)IndexSeries	TimedeltaTimedeltaIndextimedelta_rangec                   z    \ rS rSrS rS rS r\R                  R                  S/ SQ5      S 5       r
S rS	 rS
rg)TestVectorizedTimedelta   c                    [        SSSS9nSS/n[        R                  " UR                  5       [	        U5      5        [        U5      n[        USS/S	9n[        R                  " UR                  R                  5       U5        [        R                  US'   [        S[        R                  /SS/S	9n[        R                  " UR                  R                  5       U5        g )
Nz1 days, 10:11:12.100123456   speriodsfreqg@g@r      )index)
r   tmassert_almost_equaltotal_secondsr   r   assert_series_equaldtnpnan)selfrngexptsers_expts        d/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/timedeltas/test_scalar_compat.pytest_tdi_total_seconds.TestVectorizedTimedelta.test_tdi_total_seconds   s     :ACPDD
 	s002E$K@ SkQF+
svv335v> AErvvNa&
 	svv335v>    c                    [        [        R                  [        R                  /SS9nUR                  R	                  5       n[        [        R                  [        R                  /5      n[
        R                  " X#5        g )Nztimedelta64[ns])dtype)r   r   r   r   r   r   r   )r   r   resultexpecteds       r    test_tdi_total_seconds_all_nat6TestVectorizedTimedelta.test_tdi_total_seconds_all_nat,   sS    bffbff%->?%%'266266*+
v0r#   c           	      :   [        SSSS9nUS   n[        [        S5      [        S5      [        S5      [        S5      [        S5      /5      nUS   n[        R                  " UR                  S	S
9U5        UR                  S	S
9U:X  d   e[        n[        R                  " [        US9   UR                  SS
9  S S S 5        [        R                  " [        US9   UR                  SS
9  S S S 5        Sn[        R                  " [        US9   UR                  SS
9  S S S 5        [        R                  " [        US9   UR                  SS
9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nb= f! , (       d  f       g = f)Nz
16801 days   30Min)startr   r   r   z16801 days 00:00:00z16801 days 01:00:00z16801 days 02:00:00h)r   matchfoo#<MonthEnd> is a non-fixed frequencyME)
r   r   r   r   assert_index_equalroundr   pytestraises
ValueError)r   tdeltexpected_rngexpected_eltmsgs         r    test_tdi_round&TestVectorizedTimedelta.test_tdi_round3   sG   <Ie%/0/0/0/0/0
 $A
bhhCh0,?yycy"l222"]]:S1HH%H  2]]:S1II5I! 2 4]]:S1HH$H 2]]:S1II4I  21 2111 2111s0   +EE*E; F
E'*
E8;
F	
Fzfreq,msg))YEz,<YearEnd: month=12> is a non-fixed frequency)r3   r2   )foobarzInvalid frequency: foobarc                 >   [        SSSS9n[        R                  " [        US9   UR	                  U5        S S S 5        [        R                  " [        US9   UR
                  R	                  U5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)N1 days   1 min 2 s 3 usr   r/   )r   r6   r7   r8   r5   _data)r   r   r=   t1s       r    test_tdi_round_invalid.TestVectorizedTimedelta.test_tdi_round_invalidQ   sg     Xq7GH]]:S1HHTN 2]]:S1HHNN4  21 2111s   A=B=
B
Bc                    [        SSSS9nSU-  n[        SSSS9n[        [        R                  " / SQS5      5      R	                  S	5      nS	X4S
X4SU[        / SQ5      4SU[        / SQ5      4SU[        / SQ5      4SU[        / SQ5      4SUSU-  44 HT  u  pVnUR                  U5      n[        R                  " X5        UR                  U5      n	[        R                  " X5        MV     g )NrC   rD   rE   r   z	1 min 2 s)r   r   r   zm8[D]nsusms)z-1 days +00:00:00z-2 days +23:58:58z-2 days +23:57:56r   12min)-1 daysrP   rP   r.   d)r   r   r   arrayas_unitr5   r   r4   )
r   rG   t2t1at1cr   s1s2r1r2s
             r    
test_round"TestVectorizedTimedelta.test_roundc   s    Xq7GH"WhDRXXi9:BB4H 2N2NS S c>*KLM#~&GHI#rCx '
LDb* $B!!")$B!!")1
r#   c                 b   [        SSSS9nUR                    [        U5      n[        R                  US'   UR
                  R                  nUR                  S   R                  5       R                  5       (       a   eUR                  S   R                  5       R                  5       (       d   eg )Nz1 days, 10:11:12r   r   r   r   r   )	r   
componentsr   r   r   r   ilocisnaall)r   r   r   r&   s       r    test_components'TestVectorizedTimedelta.test_components   s    0!#F 3Kvv!;;q>&&(,,....{{1~""$((****r#    N)__name__
__module____qualname____firstlineno__r!   r(   r>   r6   markparametrizerH   r[   rb   __static_attributes__rd   r#   r    r
   r
      sG    ?.1!< [[	
!!*B
+r#   r
   )__doc__numpyr   r6   pandas._libs.tslibs.offsetsr   pandasr   r   r   r   r   pandas._testing_testingr   r
   rd   r#   r    <module>rr      s0      <  z+ z+r#   