K iTddlmZmZmZmZmZmZddlmZm Z dZ dZ dZ dZ dZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZy)) DispatcherMDNotImplementedErrorMethodDispatcher halt_orderingrestart_ordering#ambiguity_register_error_ignore_dup)raiseswarnsc|SNxs r/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/multipledispatch/tests/test_dispatcher.pyidentityrs Hc |dzSNr rs rincr q5Lrc |dz Srr rs rdecrrrctd}|jtft|jtft t td5|jtftk(sJ ddd|jttusJ|ddk(sJ|ddk(sJy#1swYAxYw)NfF)test_stacklevelr?) raddintrfloatrr DeprecationWarningresolvedispatchrs rtest_dispatcherr's3AEE3&#EE5(C !5 9(yy# C'''( ::c?c !! ! Q4199 S6S== ((s  B44B=ctd}|jttft|ddk(sJ|ddk(sJy)Nrrrr@)rregisterr!r"rr&s rtest_union_typesr+!sB3AAJJU|S! Q4199 S6S==rctd}|jtd}|jtd}|ddk(sJ|ddk(sJy)Nrc |dzSrr rs rrz)test_dispatcher_as_decorator..inc, 1u rc |dz Srr rs rrz)test_dispatcher_as_decorator..inc0r.rrrrr)rr*r!r")rrs rtest_dispatcher_as_decoratorr0)sd3AZZ_ZZ Q4199 S6S==rcpGdd}|d}|dg}|j|jk(sJy)NcxeZdZedZej edZej edZ y)+test_register_instance_method..Testrc||_yr data)selfr6s r _init_listz6test_register_instance_method..Test._init_list=s DIrc|g|_yr r5)r7datums r _init_objz5test_register_instance_method..Test._init_objAs DIrN) __name__ __module__ __qualname__r__init__r*listr8objectr;r rrTestr3:sH#C(   4   !    6 "  # rrBr5)rBabs rtest_register_instance_methodrF8s8    QA aS A 66QVV  rctd}d}dgfd}|jttf||drJ|jttf||drJ|jttf||dsJy)Nrc|Sr r rs rrz#test_on_ambiguity..identityMsAXrFcdd<y)NTrr ) dispatcheramb ambiguitiess r on_ambiguityz'test_on_ambiguity..on_ambiguityQs  ArrMr)rr rAr")rrrMrLs @rtest_on_ambiguityrOJs3A'KEE66 H>rcFtdttfdsJy)Nrc0jdtS)N)r)r rr&srz/test_raise_error_on_non_class..^sQUU4%5rrr TypeErrorr&s@rtest_raise_error_on_non_classrU\s3A )5 66 6rcd}d}d}d}td|}|jttf||jttf||jttf||j j |j vsJ|j j |j vsJ|j j|j j |j j|j j ksJd|j vsJ||j vsJy)Nc ||zSz Docstring number one r rys roneztest_docstring..onecr.rc ||zSz Docstring number two r rYs rtwoztest_docstring..twogr.rc ||zSr r rYs rthreeztest_docstring..threeks 1u rDoc of the multimethod itselfrdoczobject, object)rr rAr!r"__doc__stripfindr[r^r` master_docrs rtest_docstringrias1J3J'AEE66 C EE3*cEE5%.% ;;   !)) ++ + ;;   !)) ++ + 99>>#++++- . s{{((*+ ,, , qyy (( (  "" "rc`d}d}d}d}td|}|jttf||jttf||jttf||j dd|j k(sJ|j dd |j k(sJy) Nc ||zSrXr rYs rr[ztest_help..one~r.rc ||zSr]r rYs rr^ztest_help..twor.rc ||zS)z Docstring number three r rYs rr`ztest_help..threer.rrarrbrrr))rr rAr!r"_helprdrgs r test_helpro}s1J3J'AEE66 C EE3*cEE5%.% 771a=CKK '' ' 773  -- -rcd}d}d}td|}|jttf||jttf|d|j ddvsJd|j d d vsJy) Nc ||zSrXr rYs rr[ztest_source..oner.rc ||z Sr]r rYs rr^ztest_source..twor.rrarrbzx + yrzx - yr)rr r!r"_source)r[r^rhrs r test_sourcertst1J3J'AEE3*cEE5%.# aii1o %% % aiiS) )) )rcFtdttfdsJy)Nrc&jdSr)sourcer&srrRz8test_source_raises_on_missing_function..sQXXa[rrSr&s@r&test_source_raises_on_missing_functionrxs3A )0 11 1rcNdgfd}td}td}|jttf||jttf|dgk(sJt |dgk(sJt |jttfttfhk(sJy)Nrc dxxdz cc<y)Nrrr )rDrEgs rrMz1test_halt_method_resolution..on_ambiguitys ! rrcyr r )argss rfuncz)test_halt_method_resolution..funcs rrNr)rrr r!rArsetordering)rMrr~r{s @rtest_halt_method_resolutionrs A 3AO EE3-EE63- 8O8,/ 8O8 qzz?V}vsm< << . qzr)rr NotImplementedErrorr&s@rtest_no_implementationsrs3A %'9 :: :rctdjtjtd}ddk(sJgdgdk(sJt t fdsJ|ddk(sJy)Nrc|dddSNr rs rrevz#test_register_stacking..revs2wr)rrrC)rCrrcdSrr r&srrRz(test_register_stacking..rrrolleh)rr*r@tupler r)rrs @rtest_register_stackingrs3AZZZZ Y<9 $$ $ Y<9 $$ $ %'9 :: : w<7 "" "rcFtd}|jtd}|jttd}Gddt}|j t|usJ|j ||usJ|j tt|usJy)Nrc|dddSrr rs rrz!test_dispatch_method..revs2wrc ||zSr r rYs rr z!test_dispatch_method..addr.rc eZdZy)$test_dispatch_method..MyListNr<r=r>r rrMyListr rr)rr*r@r!r%)rrr rs rtest_dispatch_methodrs3AZZZZS   ::d s "" " ::f  $$ $ ::c3 3 && &rctdjtd}jtd}ddk(sJddk(sJddk(sJt t fd sJy) Nrcy)Ndefaultr rs r_ztest_not_implemented.._src(|dzdk(ryt)Nrrevenrrs rrztest_not_implemented.._s q5A:') )rrrrrrCcddS)Nrrr r&srrRz&test_not_implemented..s qAwr)rr*rAr!r rrrs @rtest_not_implementedrs3AZZZZ_** W: "" " Q46>> Q49   % 77 7rc|tdjtd}ttfdsJy)Nrctr r)rDs rrz%test_not_implemented_error.._s #%%rcdS)Nrr r&srrRz,test_not_implemented_error.. s qvr)rr*r"r rrs @rtest_not_implemented_errorrs:3AZZ&& %~ 66 6rc^tdGdd}Gdd|Gdd|j|fdtj|fd tj|fd tj|fd tttfd sJy) Nrc eZdZy)3test_ambiguity_register_error_ignore_dup..ANrr rrArrrrc eZdZy)3test_ambiguity_register_error_ignore_dup..BNrr rrBrrrrc eZdZy)3test_ambiguity_register_error_ignore_dup..CNrr rrCrrrrcyr r rYs rrRz:test_ambiguity_register_error_ignore_dup..rcyr r rYs rrRz:test_ambiguity_register_error_ignore_dup..rrcyr r rYs rrRz:test_ambiguity_register_error_ignore_dup..rrcyr r rYs rrRz:test_ambiguity_register_error_ignore_dup..rrc*Sr r )rrrsrrRz:test_ambiguity_register_error_ignore_dup..sqac{r)rr rr r)rrrrs @@@r(test_ambiguity_register_error_ignore_dupr s3A   A  A EE1a&"$GHEE1a&"$GHEE1a&"$GHEE1a&"$GH %': ;; ;rN)!sympy.multipledispatch.dispatcherrrrrrrsympy.testing.pytestr r rrrr'r+r0rFrOrUrirortrxrrrrrrrr rrrszNN/   $$7 #8.0*&2 =2; #'&8(7