rL ix UddlmZddlZddlZddlZddlZddlmZddlm Z m Z ddl m Z m Z m Z ddlZddlmZmZmZddlZddlmZmZddlmZddlmZmZdd lmZGd d Z Gd d Z!GddZ"GddZ#GddZ$dZ%dZ&e&dZ'dZ(dZ)ejTjWdgddZ,dZ-dZ.ddd d!d"d#giifddd d!d"d"d#giiffZ/d$e0d%<diifddd ddd ifd#did"did!d"d"d#giiffZ1d&e0d'<ejTjWd(e/d)Z2ejTjWd*e1d+Z3d,Z4d-Z5d.Z6d/Z7d0Z8d1Z9d2Z:d3Z;ejTjWd4ejxd5j{d6d7d"fejxd5d"fejxd5ejxd6fgd8Z>d9Z?d:Z@d;ZAd<ZBd=ZCd>ZDd?ZEd@ZFdAZGdBZHdCZIdDZJdEZKdFZLdGZMdHZNdIZOejTjWdJgdKdLZPdMZQdNZRdOZSy)P) annotationsN)Any)patchMock)datetimedate timedelta)assert_array_equalassert_approx_equalassert_array_almost_equal)_apicbook)delete_masked_points strip_math) ModuleTypec$eZdZdZdZdZdZy)Test_delete_masked_pointsctjt5tdt j dddddy#1swYyxYw)Nza stringg?g@)pytestraises ValueErrorrnparangeselfs a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_cbook.pytest_bad_first_argz,Test_delete_masked_points.test_bad_first_args< ]]: & B RYYsC-@ A B B Bs !AA cgd}dddtjtjdg}t||\}}gd}t|tj||t|tj||y)N)abcdef)rr%r&)rnanrr array)ra1a2result1result2inds rtest_string_seqz)Test_delete_masked_points.test_string_seqse +Arvvrvvq )/B77BHHRL$567BHHRL$56c tdddtdddtdddtdddtdddtdddg}tjjdddtjtjdggd }t ||}gd }t |d tj||t |d||jy) Nir%r&r'r)r(FFTTFFmaskrr%r)r)rrmar+r*rr compressed)rdatesa_maskedactualr0s r test_datetimez'Test_delete_masked_points.test_datetime%s$1%xa';$1%xa';$1%xa';=55;;1a;$LN%eX66!9bhhuoc&:;6!9hsm&>&>&@Ar2c@tjjdddtjtjdggd}t j gd}t ||}gd}t|d ||jt|d||y) Nr%r&r'r(r5r6)rgr r!myr8r) rr9r+r*mcolors to_rgba_arrayrr r:)rr<a_rgbar=r0s r test_rgbaz#Test_delete_masked_points.test_rgba0s55;;1a;$LN&&'EF%h76!9hsm&>&>&@A6!9fSk2r2N)__name__ __module__ __qualname__rr1r>rGr2rrrsB7 B3r2rcZeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd Zy)Test_boxplot_statsc tjjdd|_d|_tjj |j|jfdd|_tgd|_tj|j |_ dd d d d tjgd ddddd |_ ddd|_ddtjddgd|_ddd|_ddd|_y)Ni%r4?g?)sizemeansigma) rRmedq1q3iqrcilocihiwhislowhishiflierslabelgP$C@g@ ÿg>zzD*@gjtxJ*@gDm( @)Ӿ#W@79qU@gEɳE@gqמC@g]Y?g6v-@gIQ;@g inޓ?) rYrXrWrRrTr\rUrVr[rZgN!@g?)rYrXg =ɳE@r^r_)r[rZr\geLM?)rZr[g,#W@)rrandomseednrowsncols lognormaldatasorted known_keysr boxplot_stats std_resultsr+known_nonbootstrapped_resknown_bootstrapped_ciknown_whis3_resknown_res_percentilesknown_res_rangers r setup_methodzTest_boxplot_stats.setup_method;s  s  II''djj$**-E-0(>  "   !..tyy9''%%%hh %#(* * & &&& " )*hh [9: +)& " +( r2c<t|jtsJyN) isinstancerilistrs rtest_form_main_listz&Test_boxplot_stats.test_form_main_listms$**D111r2cJ|jD]}t|trJyrq)rirrdictrress rtest_form_each_dictz&Test_boxplot_stats.test_form_each_dictps'## )Cc4( (( )r2cl|jD]%}t|t|jkr%Jyrq)risetrgrws rtest_form_dict_keysz&Test_boxplot_stats.test_form_dict_keysts2## 4Cs8s4??33 33 4r2c|jd}|jjD]\}}t|||y)Nr)rirjitemsr )rrxkeyvalues rtest_results_baselinez(Test_boxplot_stats.test_results_baselinexsBq!88>>@ 7JC %c#h 6 7r2ctj|jd}|d}|jj D]\}}t |||y)Ni') bootstrapr)rrhrerkr~r rresultsrxrrs rtest_results_bootstrappedz,Test_boxplot_stats.test_results_bootstrapped}sQ%%dii5Aaj44::< 1JC C% 0 1r2ctj|jd}|d}|jj D]\}}t |||y)Nr'whisr)rrhrerlr~r rs rtest_results_whiskers_floatz.Test_boxplot_stats.test_results_whiskers_floatsQ%%diia8aj..446 7JC %c#h 6 7r2ctj|jddg}|d}|jj D]\}}t |||y)Nrdr)rrhrernr~r rs rtest_results_whiskers_rangez.Test_boxplot_stats.test_results_whiskers_rangesU%%diiq#h?aj..446 7JC %c#h 6 7r2ctj|jddg}|d}|jj D]\}}t |||y)Nr)_rr)rrhrermr~r rs r!test_results_whiskers_percentilesz4Test_boxplot_stats.test_results_whiskers_percentilessU%%diiq"g>aj44::< 7JC %c#h 6 7r2cgd}tj|j|}t||D]\}}|d|k(rJtj|j}|D]}d|vrJy)N)Test1r&Aardvarkr4labelsr])rrhrezip)rrrlabrxs rtest_results_withlabelsz*Test_boxplot_stats.test_results_withlabelss|,%%dii?FG, 'HCw<3& && '%%dii0 &C#% %% &r2cddg}tjt5tj|j |dddy#1swYyxYw)Nr%r&r)rrrrrhre)rrs rtest_label_errorz#Test_boxplot_stats.test_label_errors@Q ]]: & :    & 9 : : :s "A  Actjjd}tjt 5t j|dddy#1swYyxYw)N)"rr)rQ)rr`normalrrrrrhrres r test_bad_dimsz Test_boxplot_stats.test_bad_dimssHyy\2 ]]: & &    % & & &s AA"cptjd}tjd|dg}tj|d}tj|d}|dd dk(sJ|dd dk(sJt |dd ddg|dd dk(sJ|dd dk(sJt |dd gy) N)shapeiF) autorangeTrrZr[r\)rzeroshstackrrhr )rx bstats_false bstats_trues r"test_boxplot_stats_autorange_falsez5Test_boxplot_stats.test_boxplot_stats_autorange_falses HH3  IIsArl #**1> ))!t< Ax(A---Ax(A---!,q/(";c2YG1~h'3...1~h'2---!+a.":B?r2N)rHrIrJrortryr|rrrrrrrrrrKr2rrMrM:sE0 d2)47 1 7 7 7 &: & @r2rMceZdZdZy)HashablecyrqrKrs rdummyzHashable.dummyr2N)rHrIrJrrKr2rrrsr2rceZdZdZdZy) UnhashableNcyrqrKrs rrzUnhashable.dummyrr2)rHrIrJ__hash__rrKr2rrrs Hr2rcdeZdZdZdZdZdZdZdZdZ e jjdd d ge jjd e egd Ze jjdd d ge jjd e egd Ze jjdd d ge jjd e egdZe jjdd d ge jjd e egdZdZy)Test_callback_registrycDd|_tj|_y)Ntest)signalrCallbackRegistry callbacksrs rroz#Test_callback_registry.setup_methods //1r2cv|r|jj||S|jj||Srq)rconnect_connect_picklable)rsfuncpickles rrzTest_callback_registry.connects3 >>))!T2 2>>44Q= =r2c8|jj|Srq)r disconnect)rcids rrz!Test_callback_registry.disconnects~~((--r2ctfdjjD}tjjj j }||k(sJ|S)Nc3BK|]\}}|jk(ywrqr).0rprs r z/Test_callback_registry.count..sO$!QQ$++%Os)sumr _func_cid_maplengetr)rcount1count2s` rcountzTest_callback_registry.countsSO$..2N2NOOT^^--11$++>? r2ctjjg|jjgk(sJ|jjik(sJ|jj t k(sJyrq)rtesting break_cyclesrr _pickled_cidsr{rs ris_emptyzTest_callback_registry.is_emptysa !.--."444~~''2---~~++su444r2ctjjg|jjgk7sJ|jjik7sJyrq)rrrrrrs r is_not_emptyz#Test_callback_registry.is_not_emptysG !.--."444~~''2---r2ctj}|jddtjtj |}|jdd}|dk(sJy)NrcyrqrKrKr2rz9Test_callback_registry.test_cid_restore..rr2r!cyrqrKrKr2rrz9Test_callback_registry.test_cid_restore..rr2r%)rrrrloadsdumps)rcbcb2rs rtest_cid_restorez'Test_callback_registry.test_cid_restoresP  # # % 3 %ll6<<+,kk#|,axxr2rTFclsc|j|}|j|j|j|}t |t usJ|j |j|j|j|}||k(sJ|j tg|jjdk(sJt|jjdk(sJ~|jy)Nr%) rrrrtypeintrrrr)rrrmini_mecid1cid2s rtest_callback_completez-Test_callback_registry.test_callback_completes %||DKK?DzS    ||DKK?t|| 2T^^1123q8884>>++,111  r2c|j|}|j|j|j|}t |t usJ|j |j||jyrqrrrrrrrrrrrrrs rtest_callback_disconnectz/Test_callback_registry.test_callback_disconnectsg %||DKK?DzS      r2c|j|}|j|j|j|}t |t usJ|j |jd|j y)Nfoorrs rtest_callback_wrong_disconnectz5Test_callback_registry.test_callback_wrong_disconnectsj %||DKK?DzS      r2c|j|}|j|j|j||}|j|j|j||}|j|j|j||j |j dk(sJd}d}|jyNr&)rrrrrr)rrrrmini_me2s r'test_registration_on_non_empty_registryz>Test_callback_registry.test_registration_on_non_empty_registry's % T[['--85 T[[(..&95 T[[(..&9 zz|q    r2cttjtjt j dsJy)Nr)hasattrrrrrrrs r test_picklingz$Test_callback_registry.test_picklingBs4v||FLL1G1G1I$JK"$ $$r2N)rHrIrJrorrrrrrrmark parametrizerrrrrrrrKr2rrrsF2> . 5 .  [[Xe}5 [[UXz$:;<60 [[Xe}5 [[UXz$:;<6" [[Xe}5 [[UXz$:;<6" [[Xe}5 [[UXz$:;<62$r2rc tj}|jdd|jtddt j t 5|jddddd|j}|j|jcxk(rdk(sJJ|jtdd|jdd|j}|jdk(sJd|jvsJy#1swYxYw) NrcyrqrKrKr2rrzAtest_callbackregistry_default_exception_handler..Irr2"_get_running_interactive_frameworkcyrqrKrKr2rrzAtest_callbackregistry_default_exception_handler..Lrr2zargument mismatchcy)Nznot-nonerKrKr2rrzAtest_callbackregistry_default_exception_handler..Srr2z,takes 0 positional arguments but 1 was given) rrrsetattrrr TypeErrorprocess readouterrouterr)capsys monkeypatchrouterrs r/test_callbackregistry_default_exception_handlerrGs    !BJJul# 3\C y !/ 5-./    F :: )r )) )) ) 35GIJJu)*    F ::   9VZZ GG G//s DD cGddtd}d}fd}tjd}|jd|tj|}|jd|tj|}|jd|t j j d|tg|g|tgg|S) Nc eZdZy)%raising_cb_reg..TestExceptionNrHrIrJrKr2r TestExceptionr [ r2r ctrq) RuntimeErrorrKr2rraise_runtime_errorz+raising_cb_reg..raise_runtime_error^sr2ctrqrrKr2rraise_value_errorz)raising_cb_reg..raise_value_errorasr2c,t|tr|rq)rrr)excpr s r transformerz#raising_cb_reg..transformerds dL )  r2exception_handlerrzcb, excp) Exceptionrrrrrrrr)rrrrcb_oldcb_filt cb_filt_passr s @rraising_cb_regrZs    # #d ;F NN5-.$${CG OOE./))KHL 12 ;; " ":%+\$:%,m$<%1:$>$@ ABF GGr2c|jtddtj|5|j ddddy#1swYyxYw)NrcyrqrKrKr2rrz@test_callbackregistry_custom_exception_handler..~rr2r)rrrrr)rrrs r.test_callbackregistry_custom_exception_handlerr!{sF 3\C t  5s A  Actjdg}gfd}|jd|tjt 5|jd|ddd|j ddtjt 5|j ddddddgk(sJy#1swYXxYw#1swYxYw)Nr)signalsc(j|yrq)append)rrs rrz)test_callbackregistry_signals..cbsw~~a r2barr%)rrrrrrr)crrrs @rtest_callbackregistry_signalsr(s    0BG JJub z " 5"JJua z " 5! qc>> s B5C5B>C cd}tj|}d}d}|jd||jd||j5|j d|j dddd|jd5|j dt j td 5|j dddddddt j td 5|j ddddt j td 5|j ddddy#1swYxYw#1swYxYw#1swYxYw#1swYcxYw#1swYyxYw) Nc|rqrK)rs r raise_handlerz5test_callbackregistry_blocking..raise_handlers r2rctd)N1 should be blockedrrKr2r test_func1z2test_callbackregistry_blocking..test_func1.//r2ctd)N2 should be blockedrrKr2r test_func2z2test_callbackregistry_blocking..test_func2r/r2test1test2rr1matchr-)rrrblockedrrrr)r+rr.r2s rtest_callbackregistry_blockingr8s=   - @B00JJw #JJw #  7 7 7 #  7 ]]:-B C JJw    z)> ? 7 z)> ? 7    sH#E -E#>EE#;E/0E; EE E##E,/E8;Fz line, result) )a : no_commentr9)a : "quoted str"r:)za : "quoted str" # commentr:) a : "#000000"r;)za : "#000000" # commentr;)a : ["#000000", "#FFFFFF"]r<)z$a : ["#000000", "#FFFFFF"] # commentr<)z"a : val # a comment "with quotes"za : val)z# only comment "with quotes" xxrc8tj||k(sJy)z+Strip everything from the first unquoted #.N)r_strip_comment)lineresults rtest_strip_commentrAs    % // /r2ctjtd5tjddddy#1swYyxYw)NzMissing closing quoter5zgrid.color: "aa)rrrrr>rKr2rtest_strip_comment_invalidrCs5 z)@ A0 ./000s ;Acdddd}gd}gd}gd}|ttj|jk(sJ|ttj|j k(sJ|ttj|j k(sJ|tj|k(sJ|tj|k(sJy)Nr%r&r'rr r!r%r&r'))rr%)r r&)r!r')rfrsanitize_sequencekeysvaluesr~)r"kvis rtest_sanitize_sequencerMsaa AAA&A u..qvvx89 99 9 u..qxxz:; ;; ; u..qwwy9: :: : ''* ** * ''* ** *r2r%r&)rr alias_mappingrr ztuple[tuple[dict, dict], ...] fail_mappingz"tuple[tuple[Any, dict, dict], ...] pass_mappingzinp, kwargs_to_normctjt5tj5t j |fi|ddddddy#1swYxYw#1swYyxYwrq)rrrr 'suppress_matplotlib_deprecation_warningrnormalize_kwargs)inpkwargs_to_norms rtest_normalize_kwargs_failrVsV y !64#O#O#Q6 s5n5666666s"A#AA#A A##A,zinp, expected, kwargs_to_normctj5|tj|fi|k(sJ dddy#1swYyxYwrq)r rRrrS)rTexpectedrUs rtest_normalize_kwargs_passrYsG  5 5 7I511#HHHHHIIIs ;Acltjdt|dk(sJtjdddk\rat j tjd}|djjt|dz t|dz frJy|djtk(sJy)Noopsr%r&)r' r matplotlib mpl_toolkits) r warn_externalrsys version_infopathlibPath__file__parentsfilename startswithstr)recwarnbasedirs rtest_warn_externalrksv w<1   w&,,x(0031:&&113w7M3N36w7O3P3RS SSS qz""h...r2ctjtd5}td|_t j td5tjdddddddy#1swYxYw#1swYyxYw)Nr`) return_valuez \Adummy\Zr5r) robjectrr _getframerwarns UserWarningr r_)mock_syss r(test_warn_external_frame_embedded_pythonrssj eU #(x!t4 \\+\ : (   w ' ((( ( (((s#-A;A/A;/A8 4A;;Bctjd}tjd}tjdddd}tj|||\}}}tjgdt }tjgdt }tjgdt }t ||t ||t ||tj||\}}t ||t ||y)Nr4rrr%r%r&r&r'dtyperr%r%r&r&r'r')r'r&r&r%r%rr)rrrpts_to_prestepasarrayfloatr ry1y2xsy1sy2sx_target y1_target y2_targets rtest_to_presteprs ! A 1B 1dd B''2r2LBSzz/u=H 0>I 0>Ix$y#&y#&""1b)GBx$y#&r2cRtjgg}|jdk(sJyN)r&r)rrzrstepss rtest_to_prestep_emptyr&  R (E ;;&  r2ctjd}tjd}tjdddd}tj|||\}}}tjgdt }tjgdt }tjgdt }t ||t ||t ||tj||\}}t ||t ||y)Nr4ruryrwrv)r'r'r&r&r%r%r)rrrpts_to_poststepr{r|r r}s rtest_to_poststeprs ! A 1B 1dd B((B3LBSzz/u=H 0>I 0>Ix$y#&y#&##Ar*GBx$y#&r2cRtjgg}|jdk(sJyr)rrrrs rtest_to_poststep_emptyr0s&  ! !"b )E ;;&  r2ctjd}tjd}tjdddd}tj|||\}}}tjgdt }tjgdt }tjgdt }t ||t ||t ||tj||\}}t ||t ||y)Nr4ru)r?rrPrP@rr'rw)rrr%r%r&r&r'r')r'r'r&r&r%r%rr)rrrpts_to_midstepr{r|r r}s rtest_to_midstepr5s ! A 1B 1dd B''2r2LBSzz.DummyNr rKr2rDummyrYrr2rr)rr%) rangerGrouperjoinr{rs get_siblingsjoinedremove itertoolsproduct) r_rr r!r"r#objsrAotherABs r test_grouperrXs+  -21X6EG66MAq!QD A AFFDM tAwqz?c$i '' ' q~~a !SY .. .ab"xx5!!!"HHQKab&88Au%%%&!!$qr(DH51xx1~~7sD'c Gdd}tdDcgc] }| }}tj}|j||j}|D]}||vrJ||d}|ddD] }|||ur Jycc}w)Nc eZdZy)#test_grouper_private..DummyNr rKr2rrrmrr2rr)rr%)rrrr_mapping)rrrrAmappingobase_sets rtest_grouper_privaterls  "1X &EG &D & A AFFDMjjG G||tAwH !"X&qzX%%%& 'sBctjd}|j}dt|k(sJdt|k(sJt j |}|dk(sJdt|k(sJdt|k(sJy)Nr)rr%)rrflatnextr_safe_first_finite)ritrets r test_flatiterr}ss ! A B R== R==  " "2 &C !8O8 R== R==r2ctjdtj}tj|}tj |sJyr)rfullr*rrisnanarrrs rtest__safe_first_finite_all_nanr6 ''!RVV C  " "3 'C 88C==r2ctjdtj}tj|}tj |sJyr)rrinfrrisinfrs rtest__safe_first_finite_all_infrrr2c2 Gdd}tjgd}tj|dk(sJt dDcgc] }| }}tj|d}tj|dk(sJtj d}tj|d}tj|dk(sJt dDcgc] }t dDcgc] }| c}"}}tj|d}tj|dk(sJtj jdd}tj|d}tj|d k(sJd gd gdgg}tj|d}t|tsJt|d tjr|d jd k(sJt|d tjr|d jd k(sJt|d tjr|d jd k(sJtjd tjd tjd g}tj|d}t|tsJt|d k(sJt|d tjr|d jdk(sJgdddgd gg}tj|d}t|tsJt|d tjr|d jdk(sJt|d tjr|d jdk(sJt|d tjr|d jd k(sJGddtj}tj dt}|dt|j}tj|d}t|d k(sJt|d |sJgd}tj|d}t|d t|k(sJt|d tjsJycc}wcc}wcc}w)Nc eZdZy)test_reshape2d..DummyNr rKr2rrrrr2rr)r%rr))r%r)r')r'r))r)r'r%r&r)r%)r'rFr4)r&c(eZdZfdZfdZxZS)%test_reshape2d..ArraySubclassc3bKt|D]}tj|ywrq)super__iter__rr+)rr __class__s rrz.test_reshape2d..ArraySubclass.__iter__s,)+ &hhuo% &s,/cHtjt| |Srq)rr+r __getitem__)ritemrs rrz1test_reshape2d..ArraySubclass.__getitem__s88EG/56 6r2)rHrIrJrr __classcell__)rs@r ArraySubclassrs & 7 7r2r rw)r)rxbuffer) rr r!r!ddr#r$ffr$)r _reshape_2Drrrrr`randrrrsndarrayr+rr|re)rxnewrrrrKs rtest_reshape2drs     R %D 88D>V ## #(#Q#A#   Q $D 88D>V ## # ! A   Q $D 88D>V ## #.3Ah758 $a%' $7A7   Q $D 88D>V ## # q!A   Q $D 88D>V ## # qcA3A   Q $D dD !! ! d1grzz *tAw}}/DD D d1grzz *tAw}}/DD D d1grzz *tAw}}/DD D !bhhqk288A;/A   Q $D dD !! ! t9>> d1grzz *tAw}}/DD D QFQC A   Q $D dD !! ! d1grzz *tAw}}/DD D d1grzz *tAw}}/DD D d1grzz *tAw}}/DD D7 7 "E"Ae58A   Q $D t9>> d1g} -- - 8A   Q $D tAw<3q6 !! ! d1grzz ** *Q $ %7sR R,R :RRc tjdjdd}|j|gd}t j |d}t |j|D]%\}}tjj||'y)Nrr'rEcolumnsr) rrreshape DataFramerrrTrr )pdXrXnewrs rtest_reshape2d_pandasrsq " b!$A Q 0A   Q $DqssD>/4 %%a./r2c tjdjdd}|j|ddg}t j |d}t |j|D]%\}}tjj||'yNrrr'rrC)dims) rrr DataArrayrrrrrr )xrrrrrs rtest_reshape2d_xarrayrsu " b!$A Qc3Z (A   Q $DqssD>/4 %%a./r2cRtjdjdd}|j|gd}t j |\}}tj j||tjd}tj j||y)Nrrr'rEr)rrrrrindex_ofrr )rrrIdxrIdxRefs rtest_index_of_pandasrsu " b!$A Q 0Aq!ICJJ!!!T* YYr]FJJ!!#v.r2cRtjdjdd}|j|ddg}t j |\}}tj j||tjd}tj j||yr)rrrrrrrr )rrrrrrs rtest_index_of_xarrayrsy " b!$A Qc3Z (Aq!ICJJ!!!T* YYr]FJJ!!#v.r2cd\}}}dg|zdg|zzdg|zz}d|f||z||z|zfg}tj||k(sJd\}}|dg|zz}tj||k(sJdg|z|d| z}|||zf||z|z||z|z|zfg}tj||k(sJ|dg|zz}tj||k(sJtjdgdzgk(sJtjggk(sJy)N)r'r4r)TFr)r(r))rcontiguous_regions)rr r!r7rXr"r#s rtest_contiguous_regionsrsTGAq! 6!8ugai 4&( *DA1ac!e %H  # #D )X 55 5 DAq 5'!) D  # #D )X 55 5 719tCaRy DAaC1Q3q5!A#a%'*+H  # #D )X 55 5 5'!) D  # #D )X 55 5  # #UGAI ." 44 4  # #B '2 -- -r2c|jtdtdd}tj|}|dk(sJy)Nr)r)indexr)Seriesrrr)rrr=s r%test_safe_first_element_pandas_seriesr's: %(%B- 0A  % %a (F Q;;r2cd}d}dD]h\}}tj||zj||}tj||dz ||dz D]\}}||||jy)Nc |j\}}gtd|dz ||dz }gtd|dz ||dz }g}tj|D]a\}} tj|D]D\} } t j ||| dz| | dzfj } |j| Fctj|}tj|t j|||sJy)Nrr%rstridecstride) rrrpairwiser_array_perimeterrr%rr{ array_equal_array_patch_perimeters) rrrrowscolsrow_indscol_indspolysrsrs_nextcscs_nextpss rcheckz*test_array_patch_perimeters..check1s WW d7U1d1fg.7Q77U1d1fg.7Q7$--h7 !KB(11(; ! G++AblBwqyL.H,IJLL R  ! !  5!~~e#;;"#WgGH HHr2cXtd|dzDcgc] }||zdk(s |c}Scc}w)Nr%r)r)nrLs rdivisorsz-test_array_patch_perimeters..divisors@s* AE?9aa!eqj999s ''))r)r))r) r%r)rrrrr)rrr r rrrs rtest_array_patch_perimetersr.s H:17 d IIdTk " * *4 6 ) 1 1(4!82D2:4!82D!F 7 GW !Wg 6 77r2c GddGdd}fd}|j_|tjdddd d d d d d 5jjusJjjusJjdk(sJj d k(sJj d k(sJjdk(sJjjk7sJjd k(sJjd k(sJjdk(sJ ddd|y#1swYxYw)NceZdZeZeZdZdZedZ e dZ e dZ e jdZ y)test_setattr_cm..Ac.d|_d|_d|_y)Naardvarkoverrider)rr _prs r__init__z#test_setattr_cm..A.__init__Os&DM&DMDGr2cyrqrKrs rmethztest_setattr_cm..A.methTs r2cyrqrK)rs rclassyz!test_setattr_cm..A.classyW r2cyrqrKrKr2rstaticz!test_setattr_cm..A.static[r'r2c|jSrqr!rs rpropztest_setattr_cm..A.prop_s 77Nr2c||_yrqr+)rvals rr,ztest_setattr_cm..A.propcs DGr2N)rHrIrJrn cls_levelr r"r$ classmethodr& staticmethodr)propertyr,setterrKr2rrrKsnH 8                   r2rc eZdZy)test_setattr_cm..BNr rKr2rrr5gs r2rc"|j|jusJ|j|jusJjdk(sJ|j|jusJ|jjusJ|jdk(sJt |drJ|jdk(sJ|j jk(sJ|jjusJd|jvsJd|jvsJd|jvsJy)Nrr extrarr/r&r))r$rr,r/r rmonkey__dict__)objrrrs rverify_pre_post_statez.test_setattr_cm..verify_pre_post_statels xxsxx'''||s||+++zzZ'''xx388###}} +++||z)))3(((xx3zzUZZ'''}} +++#,,...s||+++s||+++r2squirrelmoosecyrqrKrKr2rrz!test_setattr_cm..rr2boor7cyrqrKrKr2rrz!test_setattr_cm..rr2bobr&r)) r,rr$r r7r8r/r&r)) r$r8r _setattr_cmrr r7r,r/r&r))rr;rrrs @@@rtest_setattr_cmrCJsK8 A  CE,, AzzAH!    J<'5H  .$vvzzQZZ'''zzW$$$zzU"""ww'!!!vv###xx5::%%%{{e###xx8###xx8####$&!'$$s (CEE c$tj}|dddk(sJ|dddk(sJ|dddk(sJ|dddk(sJ|dd dk(sJ|d d d k(sJ|d d d k(sJ|d d|d dcxk(rdk(sJJy)Nrr%0r&r'g( 0z-0gHz>r)gӴ:T?z0.00123gӴ:Tz-0.00123rz 0.00123456)r_format_approx)r$s rtest_format_approxrHs A Q7c>> Q7c>> Q7c>> Wa=D  T1:   _a I -- - q !Z // / _a Aor$: Jl JJ JJ Jr2ctdDcgc]#}tjt|z%}}d|d<t j |}|||dk(sJycc}w)Nr)daysrr%)rrtodayr rr)rL datetime_lstr=s r!test_safe_first_element_with_nonerMsb>CBiHDJJL9!#44HLHLO  % %l 3F  &LO";; ;";Is(Acdtddk(sJtddk(sJtddk(sJy)Nz 1 \times 2z $1 \times 2$z1 x 2z $\rm{hi}$hi)rrKr2rtest_strip_mathrPs; m $ 55 5 o &' 11 1 l #t ++ +r2zfmt, value, result))z%.2f m皙?0.20 m)z{:.2f} mrQrR)z{} mrQz0.2 m)constrQrS)z%d or {}rQz0 or {})z {{{:,.0f}}}gjAz {200,000})z{:.2%}gUUUUUU?z66.67%)z$%ggRQ@z$2.54ctj|||k(sJtj|tj||k(sJy)z)Apply *value* to the format string *fmt*.N)r_auto_format_strrfloat64)fmtrr@s rtest_auto_format_strrXsC  ! !#u - 77 7  ! !#rzz%'8 9V CC Cr2c(Gdd}td}||_|tjd<t j d}|j|}t j|}t|tjsJt||y)z Test that torch tensors are converted to NumPy arrays. We don't want to create a dependency on torch in the test suite, so we mock it. ceZdZdZdZy)/test_unpack_to_numpy_from_torch..Tensorc||_yrqrers rr"z8test_unpack_to_numpy_from_torch..Tensor.__init__ DIr2c|jSrqr]rs r __array__z9test_unpack_to_numpy_from_torch..Tensor.__array__ 99 r2NrHrIrJr"r`rKr2rTensorr[   r2rctorchrN) rrcr`modulesrrr_unpack_to_numpyrrrr )rcrere torch_tensorr@s rtest_unpack_to_numpy_from_torchrisx  w EEL CKK 99R=D<<%L  # #L 1F fbjj )) )vt$r2c(Gdd}td}||_|tjd<t j d}|j|}t j|}t|tjsJt||y)z Test that jax arrays are converted to NumPy arrays. We don't want to create a dependency on jax in the test suite, so we mock it. ceZdZdZdZy),test_unpack_to_numpy_from_jax..Arrayc||_yrqr]rs rr"z5test_unpack_to_numpy_from_jax..Array.__init__r^r2c|jSrqr]rs rr`z6test_unpack_to_numpy_from_jax..Array.__array__rar2NrbrKr2rArrayrlrdr2rojaxrN) rror`rfrrrrgrrrr )rorpre jax_arrayr@s rtest_unpack_to_numpy_from_jaxrrsw  U CCICKK 99R=D $I  # #I .F fbjj )) )vt$r2c>Gddtd}fd|_|_|tjd<t j d}|j|}tj|}t|t jsJt||y)z Test that tensorflow arrays are converted to NumPy arrays. We don't want to create a dependency on tensorflow in the test suite, so we mock it. ceZdZdZdZy)4test_unpack_to_numpy_from_tensorflow..Tensorc||_yrqr]rs rr"z=test_unpack_to_numpy_from_tensorflow..Tensor.__init__r^r2c|jSrqr]rs rr`z>test_unpack_to_numpy_from_tensorflow..Tensor.__array__rar2NrbrKr2rrcrurdr2rc tensorflowct|Srq)rr)rrcs rrz6test_unpack_to_numpy_from_tensorflow.. sZ6%:r2rN) r is_tensorrcr`rfrrrrgrrrr )rxre tf_tensorr@rcs @r$test_unpack_to_numpy_from_tensorflowr|s L)J:JJ *CKK  99R=D!!$'I  # #I .F fbjj )) )vt$r2)T __future__rrrbrr`typingr unittest.mockrrrrr numpyr numpy.testingr r r rr]r rmatplotlib.colorscolorsrDmatplotlib.cbookrrtypesrrrMrrrrrr!r(r8rrrArCrMrO__annotations__rPrVrYrkrsrrrrrrrrrrrrrrrrrrrrrrrCrHrMrPrXrirrr|rKr2rrs" %..66 "#=33D{@{@| C$C$LH&GB B * 0 0 0 + 1#u67 1#Sz):;</ +  2rN 1QQ', 1XQx/C#s+<=>4 0. =6>6 8%'I'I / ('(! '(! '(!  biimAq!3'biimSbiimYRYYq\"$% $ % $ (&"   P+f////..78Od K<, - 0 D D %8%:%r2