gL i J ddlmZddlZddlZddlZddlZddlmZm Z m Z ddl m Z ddl mZddlZddlmZmZmZmZddlmZddlmZmZmZmZej:gd d Zej:d Zej:d Z ej:d Z!GddZ"Gdde"Z#Gdde"Z$ejJjMdejJjMdGdde"Z'ejJjQdegdjReejTddffejVdddjReejXddffejZdddjReffgd !d"Z.ejJjQd#egdjRejXddej^ffejVdddjRejTddej^ffejZdddjRejXddejTddej^ffgd$!d%Z0ejJjQd&ejVd'd()jbejdd'd()jbgd*Z3ejJjQd+d,d-gejJjQd.ejhd/d0gejjd1d2gd3ed/d0gd4gejJjQd5e6ejbejbejnejpejrejtgd6Z;ejJjQd.ejhd/d0gejjd1d2gd3ed/d0gd4gejJjQd7d1d2gd8d9ge d/d:;gd2zgd<ZejJjQd>d?d@gdAZ?y)B) annotationsN)NaTOutOfBoundsDatetime Timestamp)freq_to_period_freqstr)np_version_gt2) DatetimeIndexPeriod PeriodIndexTimedeltaIndex) DatetimeArrayNumpyExtensionArray PeriodArrayTimedeltaArray)DBWMEQEYE)paramsc|jS)z:Fixture returning parametrized frequency in string format.)param)requests k/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/arrays/test_datetimelike.pyfreqstrr"s ==ctj5tjddtt d|}t j tdd|}ddd|S#1swYSxYw) z A fixture to provide PeriodIndex objects with different frequencies. Most PeriodArray behavior is already tested in PeriodIndex tests, so here we just test that the PeriodArray behavior matches the PeriodIndex behavior. ignorezPeriod with BDay freq)messagecategory 2000-01-01dstartperiodsfreqN)warningscatch_warningsfilterwarnings FutureWarningrpd period_ranger)rpis r period_indexr0(sl  "W 5  )G4 __9\#:Cg V W IW Is A A))A3cHtjtdd|}|S)z A fixture to provide DatetimeIndex objects with different frequencies. Most DatetimeArray behavior is already tested in DatetimeIndex tests, so here we just test that the DatetimeArray behavior matches the DatetimeIndex behavior. r#r$r%)r- date_ranger)rdtis rdatetime_indexr4<s  --i 5s QC JrctgdS)a A fixture to provide TimedeltaIndex objects with different frequencies. Most TimedeltaArray behavior is already tested in TimedeltaIndex tests, so here we just test that the TimedeltaArray behavior matches the TimedeltaIndex behavior. 1 Day3 Hoursr)r rrtimedelta_indexr:Js 5 66rc eZdZUded<ej dZdZejjde jdde jddd e jd de jd dd gdZejjdddgejjdddgdZdZejjdddeddddj$gdZdZejj+ddZd Zd!Zd"Zd#Zd$Zejjd%d&d'gd(Zd)Zejjd*gd+d,Zd-Zd.Z d/Z!d0Z"d1Z#ejjd*e jHe jJe&jNe(e)gd2Z*d3Z+ejjdddgd4Z,d5Z-ejjd*e(e&jNe jHe jJgd6Z.d7Z/d8Z0d9Z1d:Z2y;)< SharedTestsz2type[DatetimeIndex | PeriodIndex | TimedeltaIndex] index_clsctjdddzdzdz}|jtur|j|d}|S|j |dj }|S) z5Fixture returning DatetimeArray with daily frequency. i8dtypeʚ;rr()nparange array_clsrr=_data)selfdataarrs rarr1dzSharedTests.arr1dYsgyy4(2-4u< >>[ (..C.0C ..C.066C rc |}|j|}tjtd5||ddk(dddtjtd5||dgkdddy#1swY7xYw#1swYyxYw)NzLengths must matchmatchr"r)r=pytestraises ValueError)rKrNrMidxs rtest_compare_len1_raisesz$SharedTests.test_compare_len1_raisescsnnS! ]]:-A B  3r7N ]]:-A B  3s8O       s A. A:.A7:Bresult2020r'UTC)r'tzz0 days2020Q1Qr'r(cntj|}t||k(sJt||k7rJyN)r- Categoricalallany)rKrWexpecteds rtest_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricalps;>>&)6X%&&&v)****rreverseTFas_indexctj||}|rtj|}||}}|r||}}tj|j t }|} ||k(} tj| |||k7} tj| | |sp|sm||k} tj| | ||k} tj| |||kD} tj| | ||k\} tj| |yyy)N)orderedrA) r-rbCategoricalIndexrGonesshapebooltmassert_numpy_array_equal) rKrNrhrgrjotherleftrightrlzerosrWs rtest_compare_categorical_dtypez*SharedTests.test_compare_categorical_dtype~sug6 ''.EUe %Dwwu{{$/ ##FD1 ##FE2xE\F  ' ' 6U]F  ' ' 5E\F  ' ' 6U]F  ' ' 5 (wrctjdddzdzdz}tjjdj ||j t urt |d}n|j|j}|jj|}gd }|j|}|j|}tj|j||tjgd }|j|}|j|}tj|j||y) Nr$r@rArCrDrE period[D])r"^)rGrHrandom default_rngshufflerIrr=rJ _simple_newtakeroassert_index_equalarray)rKrLrMrUtakersrWres r test_takezSharedTests.test_takesyyD)B.5= a ((. >>[ (d+6C..&,,Cnn((-&!88F# dnnV4h?*%&!88F# dnnV4h?r fill_valuerwg@ir" cd|jjd}tjt|5|j ddgd|dddy#1swYyxYw)Nvalue should be a '' or 'NaT'. GotrPrr"T allow_fillr) _scalar_type__name__rRrS TypeErrorr)rKrrNmsgs rtest_take_fill_raisesz!SharedTests.test_take_fill_raisessZ#E$6$6$?$?#@P ]]9C 0 G JJ1v$:J F G G Gs AAc|}|jddgdd}|dtusJ|jddgdtj}|dtusJ|jddgdt}|dtusJy)Nr"Trr)rrrGnan)rKrNrMrWs rtest_take_fillzSharedTests.test_take_fills2q'dtDayC2q'drvvFayC2q'dsCayCr8ignore:Period with BDay freq is deprecated:FutureWarningcB|jddgdt|d}|ddg}tj||d|jj d}t jt|5|jddgdddddy#1swYyxYw) Nrr"TrrrrPfoo) rstrro assert_equalrrrRrSrrKrNrWrers rtest_take_fill_strzSharedTests.test_take_fill_strs RGU2YP"a> )#E$6$6$?$?#@P ]]9C 0 C JJAw4EJ B C C Cs 5BBc\|}|j|}|jdt}|}|j|dd|dd|g}|j t }|jt j|dd|dd|g}tj|j||y)Nrrr") r=insertr_concat_same_typeastypeobjectrG concatenateror)rKrNrMrUrWarr2res rtest_concat_same_typez!SharedTests.test_concat_same_typesnnS!jjC &&CR#ab'3'?@zz&!>>"..$s)T!"Xt1L"MN dnnV4h?rc|j|d}|jjj}t ||sJ|jt }t ||sJd|j jd}tjt|5|jddddy#1swYyxYw)Nrz'value' should be a .rPr) _unbox_scalar_ndarrayrBtype isinstancer scalar_typerrRrSrTrs rtest_unbox_scalarzSharedTests.test_unbox_scalars$$U1X.>>'',,&(+++$$S)&(+++$T%5%5%>%>$?qA ]]:S 1 '    & ' ' 's B66B?c~|j|d|j|dd|jty)Nrr")_check_compatible_withrrKrNs rtest_check_compatible_withz&SharedTests.test_check_compatible_withs6 $$U1X. $$U2AY/ $$S)rcR|jt|d}||dk(sJy)Nr)_scalar_from_stringr)rKrNrWs rtest_scalar_from_stringz#SharedTests.test_scalar_from_strings,**3uQx=9q!!!rcd}tjt|5|jddddy#1swYyxYw)Nz)does not support reduction 'not a method'rPz not a method)rRrSr_reduce)rKrNrs rtest_reduce_invalidzSharedTests.test_reduce_invalids69 ]]9C 0 * MM. ) * * * 9AmethodpadbackfillcHtjdddzdzdz}|jtur|j|d}n|jj |}t |d<|d k(r|d n|d }|j | }|d|k(sJ|dt usJy) Nr?r@rArCrDrErxryrrY)r)rGrHrIr_from_sequencer_pad_or_backfill)rKrrLrMrrWs r%test_fillna_method_doesnt_change_origz1SharedTests.test_fillna_method_doesnt_change_origsyy4(2-4u< >>[ (..[.9C..//5CA%SVCF %%V%4ayJ&&&1v}}rctjdddzdzdz}|jtur|j|d}n|jj |}|j |d}|dk(sJ|j |d d }|d k(sJ|j |dd }tj dd gtj}tj|||j |dd d }tj d d gtj}tj|||j t}|dk(sJy) Nr?r@rArCrDrErxr"rwrssiderY) rGrHrIrr searchsortedrintprorpr)rKrLrMrWres rtest_searchsortedzSharedTests.test_searchsorted s;yy4(2-4u< >>[ (..[.9C..//5C!!#a&){{!!#a&w!7{{!!#a(+88QF"''2 ##FH5!!#a(!988QF"''2 ##FH5!!#&||rbox)Nindexseriesc |}|n,|dk(r|j|}ntj|}|jt |d}|dk(sJ|jt |dd}|dk(sJ|j|ddDcgc] }t |c}}t j ddgt j}tj||tjttjd|jj d  5|jd dddtj"d |5tjttjd|jj d  5|jt |ddgddddddycc}w#1swYxYw#1swY#xYw#1swYyxYw)Nrr"rwrsrrYrArz/', 'NaT', or array of those. Got 'str' instead.rPrstring_storagez6', 'NaT', or array of those. Got string array instead.baz)r=r-SeriesrrrGrrrorprRrSrreescaperroption_context)rKrNrrrMrWxres r"test_searchsorted_castable_stringsz.SharedTests.test_searchsorted_castable_strings)s ;  G^..%C))C.C!!#c!f+.{{!!#c!f+G!<{{!!3q8">[ (..|.ct|j|jddtjf|j }|ddtjf}t j|||}t|j|jdddf|j }|dddf}t j|||d}|d}||k(sJy)NrArYr)rrr)rr~rrGnewaxisrBror)rKrNrerWarr2ds rtest_getitem_2dzSharedTests.test_getitem_2dcs;** NN1bjj= )+ q"**}% );**5>>"1"a%+@ *Trr1u )u9!!!rc\|jddtjf}t|j ||j }t |}t|dk(sJ|D]E}t|t|sJ|jdk(sJ|j |j k(rEJy)NrYrAr") rrGrrr~rBlistlenrndim)rKrNdata2drrWrs r test_iter_2dzSharedTests.test_iter_2dvsBJJ/U ''ekk'Be6{a *Aae- --66Q; ;77ekk) )) *rc |jddtjf}t|j ||j }t |}t|trbdt|jd|djd|djd|djd |j }n7dt|jd|dd|dd|dd |j }||k(sJy) NrYrA [ ['rz'], ['r"rwz'] ] Shape: (3, 1), dtype: ) rrGrrr~rBreprrrr _repr_base)rKrNrrrWres r test_repr_2dzSharedTests.test_repr_2ds$BJJ/U ''ekk'Be e^ ,DK(()*1X((*+,1X((*+,1X((*+,)). 7 DK(()*1XJ1XJ1XJ)). 7 !!!rctjdddzdzdz}|jtur|j|d}n|j |d j }|d |d <tjdddzdzdz}|d |d <t j|j||d d|dd |d d|dd t j|j|y)Nr?r@rArCrDrErxrrFr"rrw) rGrHrIrr=rJrorpasi8rKrLrMres r test_setitemzSharedTests.test_setitemsyy4(2-4u< >>[ (..[.9C..C.066CQA99Rt,r1D85@qk  ##CHHh7bc(BQ}!  ##CHHh7rc|jddd}|jjdvr|jd}|}|tur t |}n|t j ur)t j |jt}nE|tur"|t j|t}n||jt}||ddtj||y)Nr)mMrA) copyrBkind _with_freqrrGrrrrrror)rKrrNrevalss rtest_setitem_object_dtypez%SharedTests.test_setitem_object_dtypes::<"% >>  * ,**40H $;:D BHH_88DKK/0D ' 'rzz$f56Dt9##F+Da x(rcj|j}|dd|ddg<|j}|ddDcgc] }t|c}|ddtj|||j}|d|d<|j}t|d|d<tj||ycc}w)Nrrr"rwr)rrror)rKrNrerWrs rtest_setitem_strszSharedTests.test_setitem_strss::< :!Q&+BCj1c!f1r  )::<Bi b Nq  )2sB0c |jddd}t|ts|jd}t j |}|rt j |}|ddd|ddtj||y)Nr) rrrrr-rbrkror)rKrNrhrecats rtest_setitem_categoricalz$SharedTests.test_setitem_categoricalsp::<"%(K0**40HnnU# %%c*Ctt9a x(rc|dd}|d}tjtd5||d<dddtjtd5t |d<dddd}tjt |5|dg|g<dddd }tjt |5|dd |dddddy#1swYxYw#1swYsxYw#1swYPxYw#1swYyxYw) Nr?rzindex 12 is out of boundsrPrzvalue should be a.* 'object'z'B >B Bctjdddzdzdz}|jtur|j|d}n|j |d j }|t jd z}|t jd z }tj|||t jd z }|t jd z}tj||y) Nr?r@rArCrDrErxrrFr"days) rGrHrIrr=rJr- Timedeltarorrs rtest_inplace_arithmeticz#SharedTests.test_inplace_arithmeticsyy4(2-4u< >>[ (..[.9C..C.066C1-- r||## X&1-- r||## X&rctjtd5|jdddddy#1swYyxYw)Nzvalue should be arPr")r)rRrSrshiftrs rtest_shift_fill_int_deprecatedz*SharedTests.test_shift_fill_int_deprecateds6 ]]9,? @ ) KKaK ( ) ) )s 9Ac|}t|dzdk(r|dd}|t|dz}|j}t|t|usJ||k(sJt|t|dz<t |t s1|t|dzdz t|dzdzj }|jdtusJ|j}t|t|usJ||k(sJ|ddjtusJ|ddjdtusJ|jdd}|jd}t|t|usJ||k(sJ|jddtusJ|jd}t|j|g|j }tj|||jdd}t|jtg|j }tj|||jd}tj|||jdd}tj||y) Nrwrrr"F)skipna)axis)r r rA) rmedianrrrr meanreshaperrBror)rKrNrMrerWr expected2s r test_medianzSharedTests.test_median$sK s8a<1 cr(Cs3x1}%F|tH~---!!! CHM(F+3s8q=1,s3x1}q/@AFFHHzzz'3...F|tH~---!!!2Aw~~3&&&2Aw~~U~+s222{{2q!$'F|tH~---!!!{{U{3s:::!$I,,hZsyy,I   *!E2I,,cU#)),D   *!$ $!E2 $rctjgdtj}tj|d}|jt ur;|j ||j }|j ||j }nN|jj||j }|jj||j }tj||y)Nr"rwrYrAInt64) rGrint64r-rIr example_dtyperroassert_extension_array_equal)rKrMrLrerWs rtest_from_integer_arrayz#SharedTests.test_from_integer_arrayTshhy1xx7+ >>[ (~~c1C1C~DH^^D0B0B^CF~~44S@R@R4SH^^224t?Q?Q2RF ''9rN)3r __module__ __qualname____annotations__rRfixturerNrVmark parametrizer-r2timedelta_ranger.rfrurrtimerrr+rrrrrrrrrrrrrrrrrGrrrrrrrrrrrrr9rrr<r<VsAA ^^  [[ BMM&! , BMM&! 6 B  x 3 BOOHac :  ++  [[Yu 6 [[Z$76876B@, [[\AsIdAq"4M4R4R+STGUG   [[BCC @ '* "*  [[Xz':;< 8 [[U$=>'7?'7R "&*":8" [[ HH II HH     ) )(*& [[Z$7 )8 )( [[UT288RXXryy$IJ (K (' ) .%` :rr<ceZdZeZeZeZdZ e jdZ dZ dZdZdZdZdZd Zd Ze j*j-d d Zd Ze j*j3dej4dZe j*j3dej8dZdZdZdZ dZ!dZ"y)TestDatetimeArrayM8[ns]cT|}tjdd||}|j}|S)zc Fixture returning DatetimeArray with parametrized frequency and timezones z2016-01-01 01:01:00r)r'r(r\)r-r2rJ)rKtz_naive_fixturerr\r3dtas rrNzTestDatetimeArray.arr1dgs, mm117rRii rch|j|}|jd}|tjdz }|j d}t j |||j}|jd}|jj d}t j||y)N2minrFr")minutes) r=roundr-rrrorrJassert_datetime_array_equal)rKrNr3rWrer%s r test_roundzTestDatetimeArray.test_roundrsnnU#'a00&&t, fh/ii'>>,,T2 &&vx8rc|j}trdnd}tj|}|j}||usJt j ||tj||}||usJt j ||tj|d}|j}||usJt j ||tj|d|}||usJt j ||tj|d}ts||usJt j ||tj|t}tjt|t}t j ||tj|d}||jusJtj||rJ|jj}t j ||dtfD]S}tj||}tj|j|}t j ||Uy)NFrdatetime64[ns]rArBrrfloat64rJrrGrrrorprrrrmay_share_memoryrrr)rKr4rM copy_falserWrerBs rtest_array_interfacez&TestDatetimeArray.test_array_interfaces""+T C<<!!! ##FH5#J/!!! ##FH5C'78<<!!! ##FH5#%5JG!!! ##FH5#%56) )) ##FH5Cv.88DIV4 ##FH5Cw/SXX%%%&&sF33388==? ##FH5 % :EZZ51Fzz#--e4H  ' ' 9 :rc*|}|j|}tjt|}tj|t}t j ||tj|t}t j ||yNrA)r=rGrrrrorp)rKrNrMr3rerWs rtest_array_object_dtypez)TestDatetimeArray.test_array_object_dtypesinnU#88DI&#V, ##FH5#V, ##FH5rc(|}|j|}trdnd}|jjd}t j |d}t j||t j |d}t j||t j |d|}|j|jusJ|jJt j |d|}|j|jusJ|jJy)NFr"rAr.r/) r=rrviewrGrrorpbaserKrNrMr3r3rerWs r test_array_tzzTestDatetimeArray.test_array_tzsnnU#+T 88==*#X. ##FH5#%56 ##FH5#XJ?{{hmm+++{{&&&#%5JG{{hmm+++{{&&&rc|}|j|}trdnd}|j}tj|d}t j ||tj|tj}t j ||tj|d|}|j|jusJ|jJy)NFr@rAr/) r=rrrGrrorprr:r;s rtest_array_i8_dtypez%TestDatetimeArray.test_array_i8_dtypesnnU#+T 88#T* ##FH5#RXX. ##FH5#T ;{{(--///{{"""rctjddgd}tj|}|j|usJtj|dd}|jj |usJy)Nr#z 2000-01-02r"rAr)rGrr rrr:)rKrMr%s rtest_from_array_keeps_basez,TestDatetimeArray.test_from_array_keeps_basesghh l38D**3/||s"""**3r73||  C'''rc|}|j|}t|t|k(sJtj|}t |t sJt|t|k(sJyra)r=rr-rrr )rKrNrMr3dti2s r test_from_dtizTestDatetimeArray.test_from_dtis`nnU#CyDI%%%xx}$ ...DzT#Y&&&rc|}|j|}|jd}t|tjsJ|j dk(sJt |t |k(sJyNOr=rrrGndarrayrBr)rKrNrMr3asobjs rtest_astype_objectz$TestDatetimeArray.test_astype_objects^nnU# 3%,,,{{c!!!E{d3i'''r3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc|}|j}td|}|j|}|j|}t|tsJt j ||jy)Nr"rF)rJr to_periodrrror)rKr4rr3rMrerWs rtest_to_periodz TestDatetimeArray.test_to_periods^ii(G4==g=.G,&+... /rc4|jdd}|jdnt}tj|5|j d}|j djdd}dddtj y#1swY xYw)Nr"rr)rr\ UserWarningroassert_produces_warningrMassert_period_array_equal)rKrNrwarnrWres rtest_to_period_2dz#TestDatetimeArray.test_to_period_2d s a$xx't[  ' ' - ;__S)Fs+33Ar:H ; $$VX6 ; ;s 3BBpropnamec|j|}|}|j|jk(sJt||}tjt|||j }t j||yr6)r=r(getattrrGrrBrorprKrNrUr3rMrWres rtest_bool_propertiesz&TestDatetimeArray.test_bool_propertiessdnnU#xx388###h'88GC2&,,G ##FH5rc|j|}|}t||}tjt|||j}t j ||yr6)r=rWrGrrBrorprXs rtest_int_propertiesz%TestDatetimeArray.test_int_propertiessLnnU#h'88GC2&,,G ##FH5rc||}|j|}|j|j}|jddgd|}|d|k(sJd|jj d}t jt|5|jddgd||z dddt jt|5|jddgdtd ddd|jdnd }|j|}d }t jt|5|jddgd|dddtj} d|jj d}t jt|5|jddgd| dddtjd d } t jt|5|jddgd| ddd|jw|jd} |jddgd| }|jddgd| j|jj} t!j"|| yy#1swYxYw#1swYxYw#1swY\xYw#1swYxYw#1swYxYw)Nrr"TrrrrrP2014Q1z US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsrrzAustralia/Melbourne)r= tz_localizer\rrrrRrSrr rrrG timedelta64 tz_convertrBror) rKrN fixed_now_tsrMr3nowrWrr\valueres rtest_take_fill_validz&TestDatetimeArray.test_take_fill_valid(snnU#&&svv.2q'dsCayC#E$6$6$?$?#@P ]]9C 0 E HHb!W#)H D E]]9C 0 L HHb!W&:JH K LVV'T\&&r*J ]]9C 0 ? HHb!W#H > ? #E$6$6$?$?#@P ]]9C 0 A HHb!W%H @ Aud+ ]]9C 0 A HHb!W%H @ A 66 !,,-BCEXXr1g$5XIFxxQ ++CIILL9 H OOFH - 5 E E L L ? ?  A A  A As<I> J 'J J%J2>J JJ"%J/2J;c|}|j|jd}n|jd}tjtd5|j ||gdddy#1swYyxYw)Nr[zto_concat must have the samerP)r\r^rRrSrTr)rKrNrMrqs rtest_concat_same_type_invalidz/TestDatetimeArray.test_concat_same_type_invalidXsb 66>OOE*EOOD)E ]]:-K L 0  ! !3, / 0 0 0s A**A3cltjdddd|j}tjdddd|j}tj||g}tj gdj dj|j}tj||y)N2000rwrz US/Central)r'r(r\unith)2000-01-01 00:00:00z2000-01-02 00:00:00rkz2000-01-01 01:00:00) r-r2rJr r to_datetimer^as_unitror*)rKriabrWres r$test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_freqds MM&!#,T R X X MM&!#,T R X X00!Q8 NN [ & WT] U  &&vx8rcF|}|jd}tj|Dcgc]}|jdc}t}|r9t j|t j tj }tj||ycc}w)Nz%Y %brAna_value strftimerGrrr- StringDtyperror)rKrNusing_infer_stringrMrWtsres r test_strftimezTestDatetimeArray.test_strftimeysmg&88C@bR[[1@O xx0OPH )ABcTtdtgj}|jd}t j dtj gt}|r9tj |tjtj }tj||y)N 2019-01-01%Y-%m-%drArr) r rrJrurGrrrr-rvrorrKrwrMrWres rtest_strftime_natz#TestDatetimeArray.test_strftime_natsl\3/066j)88\2662&A xx0OPH )rN)#rrrr r=r rIrrrrRrrNr+r4r7r<r>r@rCrJrr+rNrTr _bool_opsrY _field_opsr[rdrfrpryrr9rrr!r!asIIKM ^^ 9+:Z 6'*#"('( [[ VW 0X 07 [[Z)@)@A 6B 6 [[Z)A)AB6C6..` 09***rr!ceZdZeZeZejZ dZ dZ dZ dZ dZej j#dej$dZdZd Zy ) TestTimedeltaArraym8[ns]ctddg}|j}t|t|k(sJtj|}t |tsJt|t|k(sJy)Nr7r8)r rJrr-rr)rKtdirMtdi2s r test_from_tdiz TestTimedeltaArray.test_from_tdisegy12iiCyDI%%%xx}$///DzT#Y&&&rctddg}|j}|jd}t|tj sJ|j dk(sJt|t|k(sJy)Nr7r8rF)r rJrrrGrHrBr)rKrrMrIs rrJz%TestTimedeltaArray.test_astype_objectscgy12ii 3%,,,{{c!!!E{d3i'''rc|}|j}|j}|j}tj||yra)rJto_pytimedeltarorprKr:rrMrerWs rtest_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedeltas<ii%%'##% ##FH5rc|}|j}|j}|j}tj||jyra)rJ total_secondsrorpvaluesrs rtest_total_secondsz%TestTimedeltaArray.test_total_secondss@ii$$&""$ ##FHOOoN ]]9C 0 @ HHaVH ? @&&s+ ]]9C 0 @ HHaVH ? @ eT* ]]9C 0 A HHb!W%H @ A A @ @  @ @  A As$<D7EE7EE EN)rrrr r=rrIr-rrrrrJrrrRrrrr[r4rdr9rrrrsfII,,KM'(6= [[Z)B)BC6D6+:ZArrrrKceZdZeZeZeZegdjZ e jdZ dZdZdZe j"j%ddd gd Zd Zd Ze j"j%d ej,dZe j"j%d ej0dZdZdZdZy)TestPeriodArrayrrFc|jS)zW Fixture returning DatetimeArray from parametrized PeriodIndex objects )rJ)rKr0s rrNzTestPeriodArray.arr1ds !!!rc|j|}|}t|t|k(sJtj|}t |t sJt|t|k(sJyra)r=rr-rrr )rKrNr/rMpi2s r test_from_pizTestPeriodArray.test_from_pis` ^^E "CyDH$$$hhsm#{+++CyDI%%%rc|j|}|}|jd}t|tjsJ|j dk(sJt |t |k(sJyrErG)rKrNr/rMrIs rrJz"TestPeriodArray.test_astype_object s^ ^^E " 3%,,,{{c!!!E{d2h&&&rc|}tj}d|jjd}t j t |5|jddgd|dddtjdd }t j t |5|jddgd|dddy#1swYZxYw#1swYyxYw) NrrrPrr"Trrr) rrrrrRrSrrrGr_)rKrNrMrcrs rrdz$TestPeriodArray.test_take_fill_valid(s #E$6$6$?$?#@P ]]9C 0 A HHb!W%H @ Aud+ ]]9C 0 A HHb!W%H @ A A  A A  A AsB8C8CC howSEc|j|}|}t|j|j}|j|}t |t sJt j||y)N)r)r=r to_timestamprJrr ror)rKrrNr/rMrerWs rtest_to_timestampz!TestPeriodArray.test_to_timestamp6sa ^^E " S!9:@@!!c!*&-000 )rctjdddj}|j}|j }|j dk(sJt j|||ddd}|j}|j }|j dk(sJt j|||jd}|j }|j dk(sJt j||y)Nz 2021-10-18rYrr_rw2B)r-r2rJrMrr(ror) rKr%parrrWdta2parr2result2parr3result3s r test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bdayAsmmL!#>DD}}""${{c!!! ''43Q3x $$&||t### ''6 d#$$&||s""" ''5rcLtjddd}d}tjt|5|j dddtjt|5|j j dddy#1swYHxYw#1swYyxYw)N1500YrY)r(r'z7Out of bounds nanosecond timestamp: 1500-01-01 00:00:00rP)r-r.rRrSrrrJ)rKr/rs rtest_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_boundsTs __V#q 9G ]].c :  OO  ]].c : $ HH ! ! # $ $   $ $sB*BBB#rUc|j|}|}t||}tjt||}t j ||yrar=rWrGrrorprKrNrUr/rMrWres rrYz$TestPeriodArray.test_bool_properties^sH^^E "h'88GB12 ##FH5rc|j|}|}t||}tjt||}t j ||yrarrs rr[z#TestPeriodArray.test_int_propertiesisF ^^E "h'88GB12 ##FH5rc|}tj|}tjt|t}t j ||tj|t}t j ||tj|d}t j ||jtj|d}tj||sJtj|dd}tj|dd}tj||rJd}tjt|5tj|ddddtj|d}tj|jd}t j ||y#1swY[xYw) NrArTr/zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rPr0S20) rGrrrrrorprr2rRrSrr) rKrNrMrWrer result_copy1 result_copy2rs rr4z$TestPeriodArray.test_array_interfacessUC88DIV4 ##FH5Cv. ##FH5Cw/ ##FCHH5**S0""67333xx7> xx7> &&|\BBBW ]]9C 0 - JJs) , -Cu-::c?))%0 ##FH5  - -s GG cF|}|jd}tj|Dcgc]}|jdc}t}|r9t j|t j tj }tj||ycc}w)Nz%YrArrrt)rKrNrwrMrWperres rryzTestPeriodArray.test_strftimesmd#883?CS\\$/?vN xx0OPH )@rzcVttdtgd}|jd}t j dtj gt}|r9tj |tjtj }tj||y)Nr|rxrAr}rr) rr rrurGrrrr-rvrorr~s rrz!TestPeriodArray.test_strftime_natsm+|S&9MNj)88\2662&A xx0OPH )rN)rrrr r=rrIr rrBrrRrrNrrJrdrrrrrrrYrr[r4ryrr9rrrrsIIK-33M ^^"" &' A [[US#J/*0*6&$ [[Z)>)>?6@6 [[Z)?)?@6A66@**rrzarr,casting_natsr6rrr#rYrr_c,t|jSrarrrs rr$q'""r)idsct|jt|d|dg|j}|D]-}|j }||d<t j ||/y)Nr"rwrAr)rrrrBrror)rM casting_natsrenats rtest_casting_nat_setitem_arrayrsa Cy''c!fc!f(=SYY'OH'hhjA X&'rzarr,non_casting_natsc,t|jSrarrs rrrrrcd}|D]+}tjt|5||d<ddd-y#1swY8xYw)Nzwvalue should be a '(Timestamp|Timedelta|Period)', 'NaT', or array of those. Got '(timedelta64|datetime64|int)' instead.rPr)rRrSr)rMnon_casting_natsrrs rtest_invalid_nat_setitem_arrayrsN( 6   ]]9C 0 CF    s4= rMrhryrZct|d<|j}|j}tj|dsJ|jd}|ddk(sJ|jdd}|ddk(sJ|j|dj}|d|dk(sJ|j|djd }|d|dk(sJt j ||y) NrrrAl)rBrsr"rrFr-)rrto_numpyrGisnanror)rMoriginalrWs rtest_to_numpy_extrarsCFxxzH \\^F 88F1I   \\\ (F !9, ,, , \\!\ 4F !9>> \\3q6??#4\ 5F !9q !! ! \\3q6???#>\ ?F !9q !! !OOC"rrhTFrz 2020-01-01z 2020-02-01r"rw)rirFklassc|s |j}|j||}tjddg|j}t j ||y)Nrr"rA)rJrrGrrBrorp)rrrhrWres r,test_searchsorted_datetimelike_with_listlikersL.   v /FxxAfll3H1rargrnroz Europe/London)r\cd}tjt|5|j|dddy#1swYyxYw)Nz [Unexpected type|Cannot compare]rP)rRrSrr)rrrs r:test_searchsorted_datetimelike_with_listlike_invalid_dtypers: -C y ,!C !!!rcddgdz}||}t|d}t|Dcgc] }t|c}}tj||ycc}w)Nr]2020Q2rwr^rF)r r ror)rstringsrLrWsres r+test_period_index_construction_from_stringsr+sV"Q&G >D C (Fw7!F1I78H&(+8sArBr"rctjgd|}t|}ttd|}|j d}t jt|5||}||}dddt j|j||}|j||}t j||tjtjd|}||j}||j}t j||tt d|}||}||}t j"||y#1swYxYw)NrrA)r"rz.__init__ is deprecatedrP)rGrrr rrrorQr,rrr-rl to_timedeltarr r r) rBrLrMclsdepr_msgrWrefuncidx_clss rtest_from_pandas_arrayr5s5 88IU +D d #C"n =e DC,,67H # #M BSt9##FH5   5  1F!!$e!4H##FH5nn @ GD #Y__FDzHOOFH%'.A%HG S\Ft}H&(+%s EE()@ __future__rrr)numpyrGrR pandas._libsrrrpandas._libs.tslibs.dtypesrpandas.compat.numpyrpandasr-r r r r pandas._testing_testingropandas.core.arraysr rrrrrr0r4r:r<r!rrr+rrrJr_r2rr.rrrrrrrlrrrrrbrkrrtuplerrr9rrrs"   >. 89: &  77H:H:Vi* i*X wAwAtWXRS[*k[*TY[*| 6 7 = = ."..- . BMM, < B B -"--t, -  qs ; A AC6J  #'' 6 7 = = R]]5$ ' 4 BMM, < B B R^^E4 (#** 5 BOOL!# > D D R]]5$ 't)Dcjj Q   #!$%$  fa(..61-33##,dE]3  l34AS)\<0s;         2 4*2  l34AS)\<0s; QFS#J