gL i3ddlmZmZddlZddlZddlZddlZddlmcm Z ddl m Z ddl mZmZmZmZmZmZmZddlmZddlmZmZddlmZmZmZmZ ddl m!Z!ejFdejFd Z$ejJjLd Z'd Z(Gd d Z)GddZ*GddZ+GddZ,ejJj[dgddZ.y#e"$rYwxYw))datedatetimeN) to_offset)IndexPeriod PeriodIndexSeries Timestamparrays date_range) deregister_matplotlib_convertersregister_matplotlib_converters)DayMicroMilliSecond) convertermatplotlib.pyplotmatplotlib.datescXd}tjd|g}tj|y)Nzimport matplotlib.units as units; import matplotlib.dates as mdates; n_conv = len(units.registry); import pandas as pd; pd.plotting.register_matplotlib_converters(); pd.plotting.deregister_matplotlib_converters(); assert len(units.registry) == n_conv-c)sys executable subprocess check_output)codecalls j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_converter.pytest_registry_mpl_resetsr0s, /  NND$ 'DD!c^tjdtjdk(sJy)Nz00:01)rtime2numr rtest_timtetonum_accepts_unicoder$@s&   g &)*<*2C;>Dctjd}tjd}t|j} |jj |j }||jt <||jt<t|jt|usJt|jt|usJ |jj |jD]\}}||j|<y#|jj |jD]\}}||j|<wxYw)NrEr) r2r3dictrIclear DateConverterrrrr items)r)rJdatesoriginaldate_converterkvs rtest_registry_resetsz%TestRegistration.test_registry_resetss###$67##$67' & NN ""002N'5ENN8 $#1ENN4 * ,>>$'~= == , .>>$'>9 99 NN " ( &1$%q! & NN " ( &1$%q! &sBDAEN) __name__ __module__ __qualname__r2mark single_cpur*r=rCrKrNrYr#r rr&r&Ds7 [[ 0 0  /"&r r&c eZdZejdZdZdZdZejjde ddde dddge dddd e dddd ggd Z ejjd gd d ZejjdddZejjdeeedgdZdZy)TestDateTimeConverterc*tjSN)rDatetimeConverterr)s rdtczTestDateTimeConverter.dtcs**,,r ch|jddd}|jddd}||k(sJdy)Nz2000-01-01 12:22z/DatetimeConverter.convert should accept unicodeconvert)r)rer1r2s rtest_convert_accepts_unicodez2TestDateTimeConverter.test_convert_accepts_unicodes: [[+T4 8 [[+T4 8RxJJJxr c|jdgddd}tjtddd}||k(sJ|jddd}||k(sJ|jt ddddd}||k(sJ|jddd}||k(sJ|jt ddd}||k(sJ|jddd}||k(sJ|jddd}||k(sJ|jt jddgdd}|d|k(sJt djdjd }|j|dd}||k(sJ|j|jdd}||k(sJ|jt|tdz |gdd}|d|k(sJ|jt|tdz |gjdd}|d|k(sJy) N2012-1-1r 2012-01-012012-01-01 00:00:00+0000z2012-01-02 00:00:00+0000UTCz US/Eastern) rhrTdate2numrrr nparray tz_localize tz_convert to_pydatetimerr)r)rersxptss rtest_conversionz%TestDateTimeConverter.test_conversions  [[*tT 21 5 ^^HT1a0 1Rxx [[T4 0Rxx [[dAq)4 6Rxx [[T4 0Rxx [[:.d ;Rxx[[tT 2Rxx [[3T4 @Rxx [[ HH02LM N    !u{{| $ 0 0 7 B B< P [[T4 (Rxx [[))+T4 8Rxx [[SV R014 >!u{{ [[SV R01??A4 N!u{{r c d}|jtdddd}tjj tdd}t j ||||jtdddd}t j ||||jtdd d d d d dd}t j |||y) Ng& .>z2012-1-1 01:02:03rr)tzrtolz2012-1-1 09:02:03zAsia/Hong_Kongrnro)rhr rmdatesrsr?assert_almost_equalr)r)rerryrzs rtest_conversion_floatz+TestDateTimeConverter.test_conversion_floats [[#65A4 N    & &y1D'O P r2D1 [[ ).> ?t  r2D1 [[$1aA6d C r2D1r r7irorr,c|j|dd}tjj|}t j |||j|ddd}tjj|d}||k(sJy)Nr)rhrrrsr?assert_numpy_array_equal)r)rer7ryrzs r$test_conversion_outofbounds_datetimez:TestDateTimeConverter.test_conversion_outofbounds_datetimesw[[t ,    & &v . ##B+ [[D$ /    & &vay 1Rxxr ztime,format_expected))rz00:00)g@z23:59:59.999999)i_z01:00)iz01:02:03)gfffffe@z 11:02:03.200cHtjd|}||k(sJyrb)r TimeFormatter)r)timeformat_expectedresults rtest_time_formatterz)TestDateTimeConverter.test_time_formatters)/((.t4(((r freq)Bmsr:cd}tdd|}|j|dd}tjj |j }t j|||y)Ng& .>z 2020-01-01 )r/rr)r rhrrrs _mpl_reprr?r)r)rrer dateindexryrzs rtest_dateindex_conversionz/TestDateTimeConverter.test_dateindex_conversionsX|RdC [[D$ /    & &y':':'< = r2D1r offset2ctd}||z}|j|dd}|j|dd}||kst|d|dy)Nrmz is not less than .)r rhAssertionError)r)rrets1ts2val1val2s rtest_resolutionz%TestDateTimeConverter.test_resolution s` #Fl{{3d+{{3d+d{ D6);D6!CD Dr ctdtdg}||g}|j|dd}|Dcgc]}|j|dd}}tj||k(j sJycc}w)Nz 2017-01-01z 2017-01-02)r rhrtruall)r)reinnerdatarxexpecteds rtest_convert_nestedz)TestDateTimeConverter.test_convert_nestedsv<()L*ABu~T4.8<=1CKK4.== H,11333>sA7N)rZr[r\r2fixturererkr|rr] parametrizerrrrrrrrrrr#r rr`r`s ^^--K ,\ 2 [[ $1 tD!Q/ 0 dAq" %xaB'? @  [[  ) )  [[V%56272 [[X%'59'EFEGE4r r`cleZdZejdZejdZdZdZdZ dZ y)TestPeriodConverterc*tjSrb)rPeriodConverterrds rpczTestPeriodConverter.pc s((**r c6Gdd}|}d|_|S)Nc eZdZy)&TestPeriodConverter.axis..AxisN)rZr[r\r#r rAxisr&s r rD)r)r)raxiss rrzTestPeriodConverter.axis$s!  v  r c^|jdd|}|jdd|}||k(sJy)Nrmrg)r)rrrirjs rrkz0TestPeriodConverter.test_convert_accepts_unicode-s1 ZZ D$ / ZZ D$ /Rxxr c|jdgd|d}tdj}||k(sJ|jdd|}||k(sJ|jtdddgd|d}||k(sJ|jtdddd|}||k(sJ|jt dgd|d}||k(sJ|jt dd|}||k(sJ|jdd|}||k(sJ|jdd|}||k(sJ|jt j ddgd d|}|d|k(sJy) Nrmrrnrorprqz2012-01-01 00:00:00z2012-01-02 00:00:00zdatetime64[ns]dtype)rhrordinalrr rtrur)rrryrzs rr|z#TestPeriodConverter.test_conversion2sn ZZ dD 1! 4 J  ' 'Rxx ZZ D$ /Rxx ZZdAq)*D$ 7 :Rxx ZZT1a($ 5Rxx ZZ:./t &     !u{{r cD|jddgd|}ddg}||k(sJy)Nrrorgrs rtest_integer_passthroughz,TestPeriodConverter.test_integer_passthroughVs, ZZAd +VRxxr cddg}|j||gd|}tdDcgc]}|j|d|}}||k(sJycc}w)Nrmz2012-1-2r)rhr4)r)rrrrir;rjs rrz'TestPeriodConverter.test_convert_nested\sVJ' ZZt dD 149!H =qbjjtT* = =Rxx>sA N) rZr[r\r2rrrrkr|rrr#r rrrsE ^^++ ^^ "H r rceZdZdZej j dgddZej j dddgdZy ) TestTimeDeltaConverterzTest timedelta converterzx, decimal, format_expected))rz00:00:00)lxqAsroz 01:06:12.3)l62"rz8 days 06:07:13.43)lKVuz 09:00:23.4320cZtj}|j|d|}||k(sJy)N)pos n_decimals)rTimeSeries_TimedeltaFormatterformat_timedelta_ticks)r)rdecimalrtdcrs rtest_format_timedelta_ticksz2TestTimeDeltaConverter.test_format_timedelta_ticksfs455++A4G+L(((r view_interval)ror)rrocGfdd}tj}|j|d||ddy)NceZdZfdZy)NTestTimeDeltaConverter.test_call_w_different_view_intervals..mock_axiscSrbr#)r)rs rget_view_intervalz`TestTimeDeltaConverter.test_call_w_different_view_intervals..mock_axis.get_view_intervalxs $$r N)rZr[r\r)rsr mock_axisrws %r rrrr)rrsetattr)r)r monkeypatchrrs ` r$test_call_w_different_view_intervalsz;TestTimeDeltaConverter.test_call_w_different_view_intervalsts: % %557C5 C r N) rZr[r\__doc__r2r]rrrr#r rrrcsY" [[% ))  [[_vv.>?@r r year_span) g&@Pii ii i c dd}||dzz}||z dz}|dkrtjd|dz }tj|\}}tj||t d}t tjtj|Dcgc]}|d c}d } tj|Dcgc]}|d c}} tj|Dcgc]}|d  c}} | | } | | } | j|zdk(}| j|zdk(}| jdk(}| jdk(}tj|sJtj|sJtj|sJtj|sJycc}wcc}wcc}w) Nirro-z9the quarterly finder is only invoked if the span is >= 45QErz period[Q]rr)r2skipr_get_default_annual_spacing_quarterly_finderrrr PeriodArrayrtruyearquarterr)rvminvmaxspannyears min_anndef maj_anndefrrquartersmajorsminorsmajor_quartersminor_quarterscheck_major_yearscheck_minor_yearscheck_major_quarterscheck_minor_quarterss rtest_quarterly_finderrs D )a- D $;?D by OP AXF(DDVLZ  ( (tYt_ EF2886$:aQqT$:;;OHXXV,qt, -F XXV,qt, -Ff%Nf%N&++j8A=&++j8A=)11Q6)11Q6 66# $$ $ 66# $$ $ 66& '' ' 66& '' '%;,,s F# F(' F-)/rrrrnumpyrtr2pandas._config.config_configconfigrGpandas._libs.tslibsrpandasrrrr r r r pandas._testing_testingr?pandas.plottingr rpandas.tseries.offsetsrrrrpandas.plotting._matplotlibr ImportErrorr3rTr]r^rr$r&r`rrrrr#r rrs  "") 5 '(./ " "FW&W&t~4~4BAAH:&VW(X(y    sC++C32C3