
    I j                     l    S 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
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)Pandas4Warning)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        ڃ/root/GenerationalWealth/GenerationalWealth/venv/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_round4   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)r4   r3   )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   r0   )r	   r7   r8   r9   r6   _data)r   r   r>   t1s       r!   test_tdi_round_invalid.TestVectorizedTimedelta.test_tdi_round_invalidR   sg     Xq7GH]]:S1HHTN 2]]:S1HHNN4  21 2111s   A=B=
B
Bc                 P   [        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
n[
        R                  " [        US9   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 H(  u  pgnUR                  U5      n	UR                  U5      n
M*     [
        R                  " W	W5        [
        R                  " W
W5        S S S 5        g ! , (       d  f       g = f)NrD   rE   rF   r   z	1 min 2 s)r   r   r   zm8[D]usz:'d' is deprecated and will be removed in a future version.r0   nsms)z-1 days +00:00:00z-2 days +23:58:58z-2 days +23:57:56r   12min)-1 daysrQ   rQ   r/   d)
r	   r   r   arrayas_unitr   assert_produces_warningr   r6   r5   )r   rH   t2t1at1cr>   r   s1s2r1r2s              r!   
test_round"TestVectorizedTimedelta.test_roundd   s'   Xq7GH"WhDRXXi9:BB4H K''cBrr"W "W #~.OPQc>*KLMc28$'!"* XXd^XXd^-!0 !!"b)!!"b)5 CBBs   (B&D
D%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?   r7   markparametrizerI   r]   rd   __static_attributes__rf   r$   r!   r   r      sG    ?.1!< [[	
!!#*J
+r$   r   )__doc__numpyr   r7   pandas._libs.tslibs.offsetsr   pandas.errorsr   pandasr   r   r   r   r	   pandas._testing_testingr   r   rf   r$   r!   <module>ru      s3      < (  ~+ ~+r$   