
    kh                     ,   d Z ddlmZ ddlmZ ddlmZ  G d d      Z ej                  e      d        Z G d d	      Z	 G d
 d      Z
 G d d      Z G d d      Z G d d      Z G d dej                        Zedk(  r ej"                          yy)z Tests for the decorators module.    )core)
decorators)	testutilsc                       e Zd ZdZ ej
                  e      d        Z ej
                  e      d        Z	 ej
                  e      d        Z
y)
NoDefaultsz?A class for testing decorated functions without default values.countc                     d|z  S N    selfr	   s     P/var/www/teggl/fontify/venv/lib/python3.12/site-packages/fire/decorators_test.pydoublezNoDefaults.double       u9    c                     d|z  S )N   r   r   s     r   triplezNoDefaults.triple   r   r   c                     d|z  S )N   r   r   s     r   	quadruplezNoDefaults.quadruple!   r   r   N)__name__
__module____qualname____doc__r   SetParseFnsintr   floatr   r   r   r   r   r   r      sf    G:$ % :& ' :# r   r   c                     d| z  S r   r   r   s    r   r   r   &   s    	
Ur   c                   r    e Zd Z ej                  e      dd       Z ej                  e      dd       Zy)WithDefaultsc                     |t        |      fS Ntyper   arg1s     r   example1zWithDefaults.example1-       dr   r)   c                     |t        |      fS r%   r&   r(   s     r   example2zWithDefaults.example21   r+   r   N)
   )r   r   r   r   r   r    r*   r.   r   r   r   r#   r#   +   sB    :%  ! :u% &r   r#   c                   @    e Zd Z ej                  ee      d        Zy)MixedArgumentsarg2c                 
    ||fS r%   r   r   r)   r3   s      r   example3zMixedArguments.example38       :r   N)r   r   r   r   r   r    strr6   r   r   r   r1   r1   6   s#    :%c* +r   r1   c                   p    e Zd Z ej                  e      d        Z ej                  e      d        Zy)PartialParseFnr,   c                 
    ||fS r%   r   r5   s      r   example4zPartialParseFn.example4?   r7   r   r2   c                 
    ||fS r%   r   r5   s      r   example5zPartialParseFn.example5C   r7   r   N)r   r   r   r   r   r8   r<   r>   r   r   r   r:   r:   =   sB    :s# $ :s# $r   r:   c                   @    e Zd Z ej                  ee      d        Zy)
WithKwargs)moder	   c                 J    |j                  dd      |j                  dd      fS )NrA   defaultr	   r   )get)r   kwargss     r   example6zWithKwargs.example6J   s*     	

69%

7A r   N)r   r   r   r   r   r8   r   rF   r   r   r   r@   r@   H   s#    :s#. /r   r@   c                   >    e Zd Z ej                  e      dd       Zy)WithVarArgsNc                     ||||fS r%   r   )r   r)   r3   varargsrE   s        r   example7zWithVarArgs.example7T   s    w&&r   r%   )r   r   r   r   
SetParseFnr8   rK   r   r   r   rH   rH   R   s!    :' 'r   rH   c                   N    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zy)FireDecoratorsTestc                     | j                  t        j                  t        ddg      d       | j                  t        j                  t        ddg      d       y )Nr   2commandr   r   4      (@assertEqualr   Firer   r   s    r   testSetParseFnsNamedArgsz+FireDecoratorsTest.testSetParseFnsNamedArgs[   s@    TYYzHc?CQGTYYzHc?CTJr   c                 ^    | j                  t        j                  t        ddg      d       y )Nr   5rQ      rU   rX   s    r   testSetParseFnsPositionalArgsz0FireDecoratorsTest.testSetParseFnsPositionalArgs_   s"    TYYzK3EFKr   c                 \    | j                  t        j                  t        dg      d       y )Nr[   rQ   r/   )rV   r   rW   r   rX   s    r   #testSetParseFnsFnWithPositionalArgsz6FireDecoratorsTest.testSetParseFnsFnWithPositionalArgsb   s    TYYvu5r:r   c                    | j                  t               j                         dt        f       | j	                  t               j                  d      dt        f       | j	                  t               j                  d      dt
        f       y Nr/      rT      )assertTupleEqualr#   r*   r   rV   r    rX   s    r   !testSetParseFnsDefaultsFromPythonz4FireDecoratorsTest.testSetParseFnsDefaultsFromPythone   c    ,.113b#Y?\^,,Q/!S:\^,,T2RK@r   c                    | j                  t        j                  t        dg      dt        f       | j                  t        j                  t        ddg      dt
        f       | j                  t        j                  t        ddg      dt
        f       | j                  t        j                  t        ddg      dt
        f       y )	Nr*   rQ   r/   1013   14.0   rV   r   rW   r#   r   r    rX   s    r   testSetParseFnsDefaultsFromFirez2FireDecoratorsTest.testSetParseFnsDefaultsFromFirek       TYY|j\BRINTYY|j$5GH%["TYY|j$5GH%["TYY|j&5IJ%["r   c                    | j                  t               j                         dt        f       | j	                  t               j                  d      dt        f       | j	                  t               j                  d      dt
        f       y ra   )rd   r#   r.   r   rV   r    rX   s    r   &testSetParseFnsNamedDefaultsFromPythonz9FireDecoratorsTest.testSetParseFnsNamedDefaultsFromPythonu   rf   r   c                    | j                  t        j                  t        dg      dt        f       | j                  t        j                  t        ddg      dt
        f       | j                  t        j                  t        ddg      dt
        f       | j                  t        j                  t        ddg      dt
        f       y )	Nr.   rQ   r/   rh   ri   rj   rk   rl   rm   rX   s    r   $testSetParseFnsNamedDefaultsFromFirez7FireDecoratorsTest.testSetParseFnsNamedDefaultsFromFire{   ro   r   c                 \    | j                  t        j                  t        g d      d       y )N)r6   rh   rh   r/   rh   )rV   r   rW   r1   rX   s    r   !testSetParseFnsPositionalAndNamedz4FireDecoratorsTest.testSetParseFnsPositionalAndNamed   s!    TYY~/GH!r   c                     | j                  t        j                  t        g d      d       | j                  t        j                  t        g d      d       y )N)r<   rh   rh   rQ   )rh   r/   )r>   rh   rh   ru   )rV   r   rW   r:   rX   s    r   testSetParseFnsOnlySomeTypesz/FireDecoratorsTest.testSetParseFnsOnlySomeTypes   sB    		.*BCZQ		.*BCZQr   c                    | j                  t        j                  t        dg      d       | j                  t        j                  t        g d      d       | j                  t        j                  t        g d      d       | j                  t        j                  t        g d      d       | j                  t        j                  t        g d	      d
       | j                  t        j                  t        g d      d       y )NrF   rQ   )rC   r   )rF   z	--herringz"red")rF   --modetrain)r{   r   )rF   rz   3)r|   r   )rF   rz   -1--countrh   )r}   r/   )rF   r~   z-2)rC   )rV   r   rW   r@   rX   s    r   testSetParseFnsForKeywordArgsz0FireDecoratorsTest.testSetParseFnsForKeywordArgs   s    		*zl3^E		*&HI 			*&EF 	TYYz3NO		*G	I 			*&CDr   c                 j    | j                  t        j                  t        g d      dddddif       y )N)rK   1z--arg2=2r|   rS   z	--kwarg=5rQ   r   rP   )r|   rS   kwargr[   )rV   r   rW   rH   rX   s    r   testSetParseFnz!FireDecoratorsTest.testSetParseFn   s2    		+N	P	c:~.0r   N)r   r   r   rY   r]   r_   re   rn   rq   rs   rv   rx   r   r   r   r   r   rN   rN   Y   s>    KL;A"A"!Q&0r   rN   __main__N)r   firer   r   r   r   r   r   r   r#   r1   r:   r@   rH   BaseTestCaserN   r   mainr   r   r   <module>r      s    '           ' 'M0// M0` z).. r   