gL i6ddlZddlZddlZddlmZmZmZddlm Z m Z ddl m Z ejjdej dddfe d d fe d j#d fe d d fe ddddfe dddddfe j$ddfgdZdZdZejjdddgdZdZejjdd diddd!d"d#igd$ZGd%d&Zejjdgd'd(Zejjdgd)d*Zy)+N)array_to_timedelta64delta_to_nanosecondsints_to_pytimedelta) Timedeltaoffsetsz obj,expectedDgH0Ci)minutesg|rXgBY>)secondsg& .>gh㈵>g?)r milliseconds microsecondso)daysr r rgS$B}c(t|}||k(sJy)N)r)objexpectedresults i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/tslibs/test_timedeltas.pytest_delta_to_nanosecondsrs&"# &F X  ctjdgd}tjtd5t |dddtjtd5t ddddtjtd5t d dddtjtd5t tj d dddtjtd5t tjd dddy#1swYxYw#1swYxYw#1swYxYw#1swYpxYw#1swYyxYw) Ni[zm8[ns]dtypezmatchfloatg?intr)nparraypytestraises TypeErrorrint64int32)rs rtest_delta_to_nanoseconds_errorr**s ((I;h /C y(A B"S!" y 0"S!" y . Q y .*RXXa[)* y .*RXXa[)**""""  ****s; D+# D7 EEE+D47EE EE$cLd}tjdd}tjt|5t |dddtjdd}tjt|5t |dddy#1swYOxYw#1swYyxYw)Nzadelta_to_nanoseconds does not support Y or M units, as their duration in nanoseconds is ambiguousr YrM)r# timedelta64r%r& ValueErrorr)msgtds r(test_delta_to_nanoseconds_td64_MY_raisesr2:s 8 c "B z -!R ! c "B z -!R !! !! !!s B9 BBB#unitr,r-ctjtd|d5tt j d|dddy#1swYyxYw)NzUnit z is not supported. Only unambiguous timedelta values durations are supported. Allowed units are 'W', 'D', 'h', 'm', 's', 'ms', 'us', 'ns'rr)r%r&r/rr#r.r3s r!test_unsupported_td64_unit_raisesr6KsP dVFF + "..D)* +++s A  Acjttddk(sJttddk(sJy)Ng _B) nanoseconds)rrrrtest_huge_nanoseconds_overflowr:Ws1  $ 0D 88 8  d ; < DD DrkwargsSeconds)r NanosecondsFoor!cd}tjttj|5t di|dddy#1swYyxYw)Nzcannot construct a Timedelta from the passed arguments, allowed keywords are [weeks, days, hours, minutes, seconds, milliseconds, microseconds, nanoseconds]rr9)r%r&r/reescaper)r; err_messages rtest_kwarg_assertionrC]sE  3 z;)? @Fs AAceZdZdZdZy)TestArrayToTimedelta64ctjddgddggt}tjt d5t |d dddy#1swYyxYw) N1r!r"4rzunit must not be specifiedrsr5)r#r$objectr%r&r/r)selfvaluess r4test_array_to_timedelta64_string_with_unit_2d_raiseszKTestArrayToTimedelta64.test_array_to_timedelta64_string_with_unit_2d_raisesmsOC8aX.f= ]]:-I J 3 c 2 3 3 3s AActjd}d}tjt|5t |dddy#1swYyxYw)Nz'values' must have object dtyper)r#aranger%r&r'r)rKrLr0s r+test_array_to_timedelta64_non_object_raiseszBTestArrayToTimedelta64.test_array_to_timedelta64_non_object_raisests?1/ ]]9C 0 )  ( ) ) )s AAN)__name__ __module__ __qualname__rMrQr9rrrErEls 3)rrE)rImsusctjdtjjd|d}t |d}|j t }tj||t |d}tj|Dcgc] }t|c}t }tj||ycc}w)Nrm8[]FboxT) r#rPr(viewrastyperJtmassert_numpy_array_equalr$r)r3arrresrxs rtest_ints_to_pytimedeltard}s ))ARXX & + +c$qM :C cu -Czz&!HX. ct ,Cxxs3!136BHX.4sC)r,r-psfsascltjdtjjd|d}t j t d5t|ddddd }t j t |5t|d dddy#1swY=xYw#1swYyxYw) NrXrrYrZz\d{1,2}rFr[z4Only resolutions 's', 'ms', 'us', 'ns' are supportedT)r#rPr(r]r%r&NotImplementedErrorr)r3rar0s r$test_ints_to_pytimedelta_unsupportedrjs ))ARXX & + +c$qM :C ** =,CU+, @C *# 6+CT*++,,++sBB*B'*B3)r@numpyr#r%pandas._libs.tslibs.timedeltasrrrpandasrrpandas._testing_testingr_mark parametrizer.to_pytimedeltaNanorr*r2r6r:rCrErdrjr9rrrts    C "67 2  . 2  - - /? 7 #T* dD I  1dD Q   c C $%$ * !"#s,+-+E  1~1Q?%L  ))"!23 /4 /!=>+?+r