gL iddlZddlZddlmZddlmZddlmZ ddl m Z ddl Z ddlmZddlmZdZdZd Zd Zd Zej0j3d dge j4d dgdfdgdeddgfdgej6eddgfgde j4d ddgdzfgde j4d de j4dde j4ddggdfgdZdZdZdZdZ dZ!ej0j3de j4d d ejDgd!d"#gd$Z#d%Z$d&Z%y)'N)iNaT)IncompatibleFrequency) _registry) PeriodDtype) PeriodArraycttjvsJtjd}td}||k(sJy)Nz Period[D]D)rregistrydtypesfindresultexpecteds e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/arrays/test_period.pytest_registeredrs: (// )) ) ]]; 'F3H X  ctjgddj}tjddt g}t j||y)N)20002001N period[D]dtype*;,)r_from_sequenceasi8nparrayrtmassert_numpy_array_equalr s r test_asi8r!s@  ' '(>k R W WFxxt,-H1rc |tjddgd}tjtd5|j ddgd t jdd  dddd }tjt|5|j ddgd d dddy#1swYFxYw#1swYyxYw)NrrrrfreqmatchrTWr#) allow_fill fill_valuez6value should be a 'Period' or 'NaT'. Got 'str' insteadfoo) rrpytestraisesrtakepdPeriod TypeError)arrmsgs rtest_take_raisesr4#s  $ $ff%5[ IC ,F ;S !RTbiiS6QRS CC y ,= !RTe<== SS==s,B&B2&B/2B;ctjgdd}tjtd5|j |dddddy#1swYyxYw)Nrr2002rrLengthr$)rrr,r- ValueErrorfillnar2s rtest_fillna_raisesr=-sJ  $ $%=[ QC z 2 3r7s AActjgdd}|jtjdd}||usJy)Nr6rrrr )rrr;r/r0)r2rs rtest_fillna_copiesr?3s<  $ $%=[ QC ZZ &#. /F   rzkey, value, expectedrr )rr9r@r9)rr@r9rrr7)rri-cttjdd}t|d}|||<tj||y)NrArr)rrarangerassert_period_array_equal)keyvaluerr2s r test_setitemrG=s= biil+ 6C8;7HCH  h/rcxttjdd}tjt d5t jdd|d <dddtjdd gd }tjt d5||d d g<dddy#1swYNxYw#1swYyxYw) NrArrr#r$rYr(rrz period[Y]r@) rrrCr,r-rr/r0rr2others r%test_setitem_raises_incompatible_freqrLRs biil+ 6C ,F ;-6,A-  & &'7{ KE ,F ;QF  --sB$B0$B-0B9cttjdd}tjt d5t jddg|d d g<dddy#1swYyxYw) NrArrlengthr$rr r(rr@)rrrCr,r-r:r/r0r<s rtest_setitem_raises_lengthrO\sT biil+ 6C z 24yyc23QF 444s A##A,cttjdd}tjt d5d|d<dddy#1swYyxYw)NrArrintr$r@r)rrrCr,r-r1r<s rtest_setitem_raises_typerRbsB biil+ 6C y .As A  Actjddgd}tjdd}t j t d5||z dddy#1swYyxYw) NrrrrMr(r#r$)rrr/r0r,r-rrJs rtest_sub_periodrUlsT  $ $ff%5[ IC IIf3 'E ,F ; e s AA$c~tjddd}|jd}tjj d|j }t jtd5||z dddt jtd5||z dddy#1swY3xYw#1swYyxYw) Nz 1677-09-22r9r )periodsr#nsl@ kzOverflow in int64 additionr$) r/ date_range to_periodr0 _from_ordinalr#r,r- OverflowError)dtipipers rtest_sub_period_overflowr`ss -- ac :C t B )) ! !&"'' 2C },H I S },H I bs/B'B3'B03B<rKhr()rrrz period[h]rctjtjgdd}t j gd}t jtd5|j j||ddd|j||}|jtj||}tj||y#1swYWxYw)Nr6rr)TFTr#r$)r/Seriesrrrrr,r-r_wherewhereastypeobjectrassert_series_equal)rKsercondresrs r test_where_different_freq_raisesrls ))""#;;O C 88' (D ,F ;& u%& ))D% Czz&!''e4H3) &&s CCc^tjddgd}t|}d}||k(sJy)NrrrrzF ['2000-01-01', '2001-01-01'] Length: 2, dtype: period[D]rrstrr2rrs rtest_repr_smallrqs:  $ $ff%5[ IC XFR  X  rcdtjddgdzd}t|}d}||k(sJy)NrrirraM ['2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', ... '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01'] Length: 1000, dtype: period[D]rnrps rtest_repr_largerssA  $ $ff%5%;; OC XF )  X  r)&numpyrr,pandas._libs.tslibsrpandas._libs.tslibs.periodrpandas.core.dtypes.baserr pandas.core.dtypes.dtypesrpandasr/pandas._testing_testingrpandas.core.arraysrrr!r4r=r?mark parametrizer0nanrGrLrOrRrUr`rrlrqrsrrrso $<91* 2 =  ibii$m4 dT1aL! bfftQl# IBIIfc*UGaK8  RYYvs #YRYYvs%;YRYYvs=S T !  0 04  $  &s#" ""#;;O * *&r