
    Vh!                        d dl mZ 	 d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ  ed      Z G d dej                        Zy	)
    )annotations)CallableIterable)Concatenate	ParamSpec)
formmethod)unittest_Pc                      e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 ddZddZddZddZddZddZddZ	ddZ
dd	Zdd
ZddZddZy)ArgumentTestsc                     |dg|i |}|D ]&  \  }}| j                  |j                  |      |       ( |D ]-  }| j                  t        j                  |j                  |       / y )Nname)assertEqualcoerceassertRaisesr   
InputError)	selfargKlass	testPairs	badValuesargskwargsargvalresults	            L/home/dcms/DCMS/lib/python3.12/site-packages/twisted/test/test_formmethod.pyargTestzArgumentTests.argTest   sp     v///$ 	6KCSZZ_f5	6 	FCj33SZZE	F    c                p    t        j                  d      }| j                  t        |j                  d       y)zG
        Test that corce correctly raises NotImplementedError.
        r    N)r   Argumentr   NotImplementedErrorr   )r   r   s     r   test_argumentzArgumentTests.test_argument"   s+     !!&)-szz2>r   c                *   | j                  t        j                  g dd       | j                  t        j                  ddgdd       | j                  t        j                  ddgd	d
       | j                  t        j                  ddgddd
       y )N)ar&   )   1r    r     abr,   )abcr-   )2r       )minr%   )223213345x   )max)addr5   )r1   xr0   r4   )r   r   Stringr   s    r   
testStringzArgumentTests.testString)   s    Z&&(H"Mn=ya 	 	
 	j9;MST 	 	
 	>* 	 	
r   c                    | j                  t        j                  g dd       | j                  t        j                  ddgdd       y )N)3r3   z-2r    N)q2.3r<   r>   )rA   rB   r    r   	allowNone)r   r   Integerr9   s    r   testIntzArgumentTests.testInt9   sE     BL	
 	: 68HTU 	 	
r   c                    | j                  t        j                  g dd       | j                  t        j                  ddgdd       y )N)r=   g      @z-2.3gffffffr@   )rA   2.3zrH   rI   )rA   rJ   r    r   rC   )r   r   Floatr9   s    r   	testFloatzArgumentTests.testFloatA   sF    F	
 	(	 	 	
r   c                V    ddg}| j                  t        j                  ddgd|       y )Nr&   applezan applebbananaook)r&   rO   )rQ   rR   )cr'   )choices)r   r   Choice)r   rU   s     r   
testChoicezArgumentTests.testChoiceL   s5    -/EF_-	 	 	
r   c                t    ddg}| j                  t        j                  dgdgfddgddgfgddgdgf|	       y )
NrN   rP   r&   rO   rQ   rR   rT   fdfs)flags)r   r   Flags)r   rZ   s     r   	testFlagszArgumentTests.testFlagsU   sW    +-CDegY3*x.A!BC3Z&"	 	 	
r   c                N    g d}| j                  t        j                  |d       y )N))yesr'   )r    r   )Falser   )nor   r*   )r   r   Boolean)r   testss     r   testBooleanzArgumentTests.testBoolean^   s    >Z''3r   c                4   t        j                  dd      }| j                  |j                  d      d       | j	                  t         j
                  |j                  d       t        j                  d      }| j                  |j                  d             y)z>
        Test the correctness of the coerce function.
        r   r   rC   	somethingN)r   Filer   r   r   r   assertIsNone)r   r   arg2s      r   	test_filezArgumentTests.test_fileb   sn     oof2K0+>*//TBv&$++d+,r   c                v    ddd dj                         }g d}| j                  t        j                  ||       y )N)i        )i  r/      ))20021221)1996r.   29)r    r    r    ))rn   r.   rr   )xxr.   r=   )rn   13r(   )1999ro   32)rn   r(   )rn   r.   r=   4)itemsr   r   Dater   	goodTestsbadTestss      r   testDatezArgumentTests.testDatel   s;    "0!.
 %'	 	

 	Z__i:r   c                z    ddddj                         }g d}| j                  t        j                  ||dd       y )Nr   rk   r3   )0ro   r=   )z-1r6   rt   z-2000z3.4)rx   r   r   IntegerRangerz   s      r   testRangedIntegerzArgumentTests.testRangedInteger|   s6    2A.446	4Z,,i1bIr   c                z    dddj                         }g d}| j                  t        j                  ||dd       y )Nfoor,   ))r   r   r+   ))r,   r&   )12345r   r)   r%   )r&   )r&   r&   r&   r/      r7   )rx   r   r   VerifiedPasswordrz   s      r   testVerifiedPasswordz"ArgumentTests.testVerifiedPassword   s;    %*$?EEG	
 	Z00)X1RSTr   N)r   z3Callable[Concatenate[str, _P], formmethod.Argument]r   zIterable[tuple[object, object]]r   zIterable[object]r   z_P.argsr   z	_P.kwargsreturnNone)r   r   )__name__
__module____qualname__r   r#   r:   rF   rL   rW   r\   rc   ri   r}   r   r   r*   r   r   r   r      s    FEF 3F $	F
 F F 
F?
 
	


4-; J

Ur   r   N)
__future__r   typingr   r   typing_extensionsr   r   twisted.pythonr   twisted.trialr	   r
   TestCaser   r*   r   r   <module>r      s<    # & 4 % "t_xUH%% xUr   