ϪfddlmZ ddlmZmZddlmZmZddlmZddl m Z edZ Gdde jZ y ) ) annotations)CallableIterable) Concatenate ParamSpec) formmethod)unittest_PceZdZ ddZddZddZddZddZddZddZ ddZ dd Z dd Z dd Z dd Zy ) ArgumentTestsc|dg|i|}|D]&\}}|j|j||(|D]-}|jtj|j|/y)Nname) assertEqualcoerce assertRaisesr InputError) selfargKlass testPairs badValuesargskwargsargvalresults >/usr/lib/python3/dist-packages/twisted/test/test_formmethod.pyargTestzArgumentTests.argTestspv///$ 6KC   SZZ_f 5 6 FC   j33SZZ E Fcptjd}|jt|jdy)zG Test that corce correctly raises NotImplementedError. rN)rArgumentrNotImplementedErrorr)rrs r test_argumentzArgumentTests.test_argument"s+!!&) -szz2>rc*|jtjgdd|jtjddgdd|jtjddgd d |jtjdd gd dd y)N)ar&)1r r abr,)abcr-)2r )minr%)223213345x)max)addr5)r1xr0r4)rrStringrs r testStringzArgumentTests.testString)s Z&&(H"M    n=ya      j9;MST      > *   rc|jtjgdd|jtjddgddy)N)3r3z-2r N)q2.3r<r>)rArBr r allowNone)rrIntegerr9s rtestIntzArgumentTests.testInt9sE    BL    : 68HTU  rc|jtjgdd|jtjddgddy)N)r=g@z-2.3gffffffr@)rA2.3zrHrI)rArJr rrC)rrFloatr9s r testFloatzArgumentTests.testFloatAsF   F       (   rcVddg}|jtjddgd|y)Nr&applezan applebbananaook)r&rO)rQrR)cr')choices)rrChoice)rrUs r testChoicezArgumentTests.testChoiceLs5-/EF    _ -   rctddg}|jtjdgdgfddgddgfgddgdgf| y) NrNrPr&rOrQrRrTfdfs)flags)rrFlags)rrZs r testFlagszArgumentTests.testFlagsUsW+-CD   egY 3*x.A!B C3Z& "  rcNgd}|jtj|dy)N))yesr')r r)Falser)norr*)rrBoolean)rtestss r testBooleanzArgumentTests.testBoolean^s> Z''3rc4tjdd}|j|jdd|j tj |jdtjd}|j |jdy)z> Test the correctness of the coerce function. rrrC somethingN)rFilerrrr assertIsNone)rrarg2s r test_filezArgumentTests.test_filebsnoof2 K0+> *//TBv& $++d+,rcvddddj}gd}|jtj||y)N)i )ir/))20021221)1996r.29)r r r ))rnr.rr)xxr.r=)rn13r()1999ro32)rnr()rnr.r=4)itemsrrDater goodTestsbadTestss rtestDatezArgumentTests.testDatels;"0!.  %'    Z__i:rczddddj}gd}|jtj||ddy)Nrrkr3)0ror=)z-1r6rtz-2000z3.4)rxrr IntegerRangerzs rtestRangedIntegerzArgumentTests.testRangedInteger|s62A.446 4 Z,,i1bIrczdddj}gd}|jtj||ddy)Nfoor,))rrr+))r,r&)12345rr)r%)r&)r&r&r&r/r7)rxrrVerifiedPasswordrzs rtestVerifiedPasswordz"ArgumentTests.testVerifiedPasswords;%*$?EEG   Z00)X1RS TrN) rz3Callable[Concatenate[str, _P], formmethod.Argument]rzIterable[tuple[object, object]]rzIterable[object]rz_P.argsrz _P.kwargsreturnNone)rr)__name__ __module__ __qualname__rr#r:rFrLrWr\rcrir}rrr*rrr r s FE F3 F$ F  F  F  F?      4-; J Urr N) __future__rtypingrrrrtwisted.pythonr twisted.trialr r TestCaser r*rrrs<#&)%"t_xUH%%xUr