U
    ÈZj3@  ã                   @   s@   d Z ddlZG dd„ dejƒZG dd„ deƒZG dd„ dƒZdS )	z" zope.interface.verify unit tests
é    Nc                   @   sô   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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/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;S )<ÚTest_verifyClassc                 C   s   ddl m} |||ƒS )Nr   )ÚverifyClass)Úzope.interface.verifyr   )ÚselfÚifaceÚklassr   © r   úc/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/zope/interface/tests/test_verify.pyÚ_callFUT   s    zTest_verifyClass._callFUTc                 C   sN   ddl m} ddlm} G dd„ d|ƒ}G dd„ dtƒ}|  || j||¡ d S )Nr   ©Ú	Interface©ÚDoesNotImplementc                   @   s   e Zd ZdS )z>Test_verifyClass.test_class_doesnt_implement.<locals>.ICurrentN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r	   ÚICurrent   s   r   c                   @   s   e Zd ZdS )z=Test_verifyClass.test_class_doesnt_implement.<locals>.CurrentNr   r   r   r   r	   ÚCurrent    s   r   )Úzope.interfacer   Úzope.interface.exceptionsr   ÚobjectÚassertRaisesr
   )r   r   r   r   r   r   r   r	   Útest_class_doesnt_implement   s
    z,Test_verifyClass.test_class_doesnt_implementc                 C   sR   ddl m} ddl m} G dd„ d|ƒ}G dd„ dtƒ}|||ƒ |  ||¡ d S )Nr   r   )ÚclassImplementsc                   @   s   e Zd ZdS )zXTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.ICurrentNr   r   r   r   r	   r   )   s   r   c                   @   s   e Zd ZdS )zWTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.CurrentNr   r   r   r   r	   r   ,   s   r   )r   r   r   r   r
   )r   r   r   r   r   r   r   r	   Ú5test_class_doesnt_implement_but_classImplements_later%   s    
zFTest_verifyClass.test_class_doesnt_implement_but_classImplements_laterc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   ©Úimplementer©ÚBrokenImplementationc                   @   s   e Zd Zdd„ ZdS )zPTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrentc                   S   s   d S ©Nr   r   r   r   r	   Úmethod9   ó    zWTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrent.methodN©r   r   r   r!   r   r   r   r	   r   8   s   r   c                   @   s   e Zd ZdS )zOTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.CurrentNr   r   r   r   r	   r   ;   s   r   ©r   r   r   r   r   r   r   r
   ©r   r   r   r   r   r   r   r   r	   Ú-test_class_doesnt_have_required_method_simple3   s      ÿz>Test_verifyClass.test_class_doesnt_have_required_method_simplec                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zHTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrentc                   S   s   d S r    r   r   r   r   r	   r!   G   r"   zOTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrent.methodNr#   r   r   r   r	   r   F   s   r   c                   @   s   e Zd Zdd„ ZdS )zGTest_verifyClass.test_class_has_required_method_simple.<locals>.Currentc                 S   s
   t ƒ ‚d S r    ©ÚNotImplementedError©r   r   r   r	   r!   L   s    zNTest_verifyClass.test_class_has_required_method_simple.<locals>.Current.methodNr#   r   r   r   r	   r   I   s   r   ©r   r   r   r   r
   ©r   r   r   r   r   r   r   r	   Ú%test_class_has_required_method_simpleB   s    z6Test_verifyClass.test_class_has_required_method_simplec                 C   sr   ddl m} ddl m} ddlm} G dd„ d|ƒ}G dd„ d|ƒ}||ƒG d	d
„ d
tƒƒ}|  || j||¡ d S )Nr   r   r   r   c                   @   s   e Zd Zdd„ ZdS )zNTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBasec                   S   s   d S r    r   r   r   r   r	   r!   W   s    zUTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBase.methodNr#   r   r   r   r	   ÚIBaseV   s   r-   c                   @   s   e Zd ZdS )zQTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IDerivedNr   r   r   r   r	   ÚIDerivedZ   s   r.   c                   @   s   e Zd ZdS )zPTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.CurrentNr   r   r   r   r	   r   ]   s   r   r$   )r   r   r   r   r-   r.   r   r   r   r	   Ú.test_class_doesnt_have_required_method_derivedQ   s      ÿz?Test_verifyClass.test_class_doesnt_have_required_method_derivedc                 C   s`   ddl m} ddl m} G dd„ d|ƒ}G dd„ d|ƒ}||ƒG dd	„ d	tƒƒ}|  ||¡ d S )
Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zFTest_verifyClass.test_class_has_required_method_derived.<locals>.IBasec                   S   s   d S r    r   r   r   r   r	   r!   i   s    zMTest_verifyClass.test_class_has_required_method_derived.<locals>.IBase.methodNr#   r   r   r   r	   r-   h   s   r-   c                   @   s   e Zd ZdS )zITest_verifyClass.test_class_has_required_method_derived.<locals>.IDerivedNr   r   r   r   r	   r.   l   s   r.   c                   @   s   e Zd Zdd„ ZdS )zHTest_verifyClass.test_class_has_required_method_derived.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   r)   r   r   r	   r!   r   s    zOTest_verifyClass.test_class_has_required_method_derived.<locals>.Current.methodNr#   r   r   r   r	   r   o   s   r   r*   )r   r   r   r-   r.   r   r   r   r	   Ú&test_class_has_required_method_derivedd   s    z7Test_verifyClass.test_class_has_required_method_derivedc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zKTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrentc                 S   s   d S r    r   ©Úar   r   r	   r!   ~   s    zRTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrent.methodNr#   r   r   r   r	   r   |   s   r   c                   @   s   e Zd Zdd„ ZdS )zJTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   )r   Úbr   r   r	   r!   „   s    zQTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.Current.methodNr#   r   r   r   r	   r   �   s   r   r*   r+   r   r   r	   Ú(test_method_takes_wrong_arg_names_but_OKw   s    z9Test_verifyClass.test_method_takes_wrong_arg_names_but_OKc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   ©ÚBrokenMethodImplementationc                   @   s   e Zd Zdd„ ZdS )zDTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!   �   s    zKTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrent.methodNr#   r   r   r   r	   r   Ž   s   r   c                   @   s   e Zd Zdd„ ZdS )zCTest_verifyClass.test_method_takes_not_enough_args.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   r)   r   r   r	   r!   –   s    zJTest_verifyClass.test_method_takes_not_enough_args.<locals>.Current.methodNr#   r   r   r   r	   r   “   s   r   ©r   r   r   r   r6   r   r   r
   ©r   r   r   r6   r   r   r   r   r	   Ú!test_method_takes_not_enough_args‰   s      ÿz2Test_verifyClass.test_method_takes_not_enough_argsc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )zLTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrentc                  W   s   d S r    r   ©Úargsr   r   r	   r!   £   s    zSTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   ¡   s   r   c                   @   s   e Zd Zdd„ ZdS )zKTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   r)   r   r   r	   r!   ©   s    zRTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Current.methodNr#   r   r   r   r	   r   ¦   s   r   r7   r8   r   r   r	   Ú)test_method_doesnt_take_required_starargsœ   s      ÿz:Test_verifyClass.test_method_doesnt_take_required_starargsc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )zOTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrentc                  [   s   d S r    r   )Úkwr   r   r	   r!   ¶   s    zVTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   ´   s   r   c                   @   s   e Zd Zdd„ ZdS )zNTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   r)   r   r   r	   r!   ¼   s    zUTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Current.methodNr#   r   r   r   r	   r   ¹   s   r   r7   r8   r   r   r	   Ú,test_method_doesnt_take_required_only_kwargs¯   s      ÿz=Test_verifyClass.test_method_doesnt_take_required_only_kwargsc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )z>Test_verifyClass.test_method_takes_extra_arg.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!   É   s    zETest_verifyClass.test_method_takes_extra_arg.<locals>.ICurrent.methodNr#   r   r   r   r	   r   Ç   s   r   c                   @   s   e Zd Zdd„ ZdS )z=Test_verifyClass.test_method_takes_extra_arg.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   ©r   r2   r3   r   r   r	   r!   Ï   s    zDTest_verifyClass.test_method_takes_extra_arg.<locals>.Current.methodNr#   r   r   r   r	   r   Ì   s   r   r7   r8   r   r   r	   Útest_method_takes_extra_argÂ   s      ÿz,Test_verifyClass.test_method_takes_extra_argc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zKTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!   Û   s    zRTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrent.methodNr#   r   r   r   r	   r   Ù   s   r   c                   @   s   e Zd Zddd„ZdS )zJTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.CurrentNc                 S   s
   t ƒ ‚d S r    r'   r?   r   r   r	   r!   á   s    zQTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.Current.method)Nr#   r   r   r   r	   r   Þ   s   r   r*   r+   r   r   r	   Ú(test_method_takes_extra_arg_with_defaultÕ   s    z9Test_verifyClass.test_method_takes_extra_arg_with_defaultc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zITest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!   ì   s    zPTest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrent.methodNr#   r   r   r   r	   r   ê   s   r   c                   @   s   e Zd Zdd„ ZdS )zHTest_verifyClass.test_method_takes_only_positional_args.<locals>.Currentc                 W   s
   t ƒ ‚d S r    r'   ©r   r;   r   r   r	   r!   ò   s    zOTest_verifyClass.test_method_takes_only_positional_args.<locals>.Current.methodNr#   r   r   r   r	   r   ï   s   r   r*   r+   r   r   r	   Ú&test_method_takes_only_positional_argsæ   s    z7Test_verifyClass.test_method_takes_only_positional_argsc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )z@Test_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!   þ   s    zGTest_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   ü   s   r   c                   @   s   e Zd Zdd„ ZdS )z?Test_verifyClass.test_method_takes_only_kwargs.<locals>.Currentc                 [   s
   t ƒ ‚d S r    r'   ©r   r=   r   r   r	   r!     s    zFTest_verifyClass.test_method_takes_only_kwargs.<locals>.Current.methodNr#   r   r   r   r	   r     s   r   r7   r8   r   r   r	   Útest_method_takes_only_kwargs÷   s      ÿz.Test_verifyClass.test_method_takes_only_kwargsc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zCTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!     s    zJTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r     s   r   c                   @   s   e Zd Zdd„ ZdS )zBTest_verifyClass.test_method_takes_extra_starargs.<locals>.Currentc                 W   s
   t ƒ ‚d S r    r'   ©r   r2   r;   r   r   r	   r!     s    zITest_verifyClass.test_method_takes_extra_starargs.<locals>.Current.methodNr#   r   r   r   r	   r     s   r   r*   r+   r   r   r	   Ú test_method_takes_extra_starargs
  s    z1Test_verifyClass.test_method_takes_extra_starargsc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zNTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!   !  s    zUTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r     s   r   c                   @   s   e Zd Zdd„ ZdS )zMTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Currentc                 _   s
   t ƒ ‚d S r    r'   )r   r2   r;   r=   r   r   r	   r!   '  s    zTTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Current.methodNr#   r   r   r   r	   r   $  s   r   r*   r+   r   r   r	   Ú+test_method_takes_extra_starargs_and_kwargs  s    z<Test_verifyClass.test_method_takes_extra_starargs_and_kwargsc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )z[Test_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrentc                 W   s   d S r    r   ©r2   r;   r   r   r	   r!   3  s    zbTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   1  s   r   c                   @   s   e Zd Zdd„ ZdS )zZTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   ©r   r2   r   r   r	   r!   9  s    zaTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Current.methodNr#   r   r   r   r	   r   6  s   r   r7   r8   r   r   r	   Ú8test_method_doesnt_take_required_positional_and_starargs,  s      ÿzITest_verifyClass.test_method_doesnt_take_required_positional_and_starargsc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zUTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrentc                 W   s   d S r    r   rI   r   r   r	   r!   E  s    z\Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   C  s   r   c                   @   s   e Zd Zdd„ ZdS )zTTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Currentc                 W   s
   t ƒ ‚d S r    r'   rF   r   r   r	   r!   K  s    z[Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Current.methodNr#   r   r   r   r	   r   H  s   r   r*   r+   r   r   r	   Ú2test_method_takes_required_positional_and_starargs?  s    zCTest_verifyClass.test_method_takes_required_positional_and_starargsc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zBTest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrentc                 W   s   d S r    r   rI   r   r   r	   r!   V  s    zITest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   T  s   r   c                   @   s   e Zd Zdd„ ZdS )zATest_verifyClass.test_method_takes_only_starargs.<locals>.Currentc                 W   s
   t ƒ ‚d S r    r'   rB   r   r   r	   r!   \  s    zHTest_verifyClass.test_method_takes_only_starargs.<locals>.Current.methodNr#   r   r   r   r	   r   Y  s   r   r*   r+   r   r   r	   Útest_method_takes_only_starargsP  s    z0Test_verifyClass.test_method_takes_only_starargsc                 C   sP   ddl m} ddl m} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  ||¡ d S )Nr   r   r   c                   @   s   e Zd Zdd„ ZdS )zDTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrentc                  [   s   d S r    r   ©Úkwargsr   r   r	   r!   g  s    zKTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   e  s   r   c                   @   s   e Zd Zdd„ ZdS )zCTest_verifyClass.test_method_takes_required_kwargs.<locals>.Currentc                 [   s
   t ƒ ‚d S r    r'   rD   r   r   r	   r!   m  s    zJTest_verifyClass.test_method_takes_required_kwargs.<locals>.Current.methodNr#   r   r   r   r	   r   j  s   r   r*   r+   r   r   r	   Ú!test_method_takes_required_kwargsa  s    z2Test_verifyClass.test_method_takes_required_kwargsc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )zVTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrentc                  W   s   d S r    r   r:   r   r   r	   r!   y  s    z]Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   w  s   r   c                   @   s   e Zd Zdd„ ZdS )zUTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Currentc                 W   s
   t ƒ ‚d S r    r'   rF   r   r   r	   r!     s    z\Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Current.methodNr#   r   r   r   r	   r   |  s   r   r7   r8   r   r   r	   Ú3test_method_takes_positional_plus_required_starargsr  s      ÿzDTest_verifyClass.test_method_takes_positional_plus_required_starargsc                 C   sb   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )zJTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrentc                  [   s   d S r    r   rN   r   r   r	   r!   �  s    zQTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrent.methodNr#   r   r   r   r	   r   ‹  s   r   c                   @   s   e Zd Zdd„ ZdS )zITest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   rJ   r   r   r	   r!   “  s    zPTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Current.methodNr#   r   r   r   r	   r   �  s   r   r7   r8   r   r   r	   Ú'test_method_doesnt_take_required_kwargs†  s      ÿz8Test_verifyClass.test_method_doesnt_take_required_kwargsc                    s^   ddl m‰  ddl m} ddl m} G ‡ fdd„d|ƒ}||ƒG dd„ dƒƒ}|  ||¡ d S )	Nr   ©Ú	Attributer   r   c                       s   e Zd Z” dƒZdS )zGTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.ICurrentúThe foo AttributeN©r   r   r   Úattrr   rS   r   r	   r   Ÿ  s   r   c                   @   s   e Zd Zdd„ ZdS )zFTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   r)   r   r   r	   rW   ¥  s    zKTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Current.attrNrV   r   r   r   r	   r   ¢  s   r   ©r   rT   r   r   r
   r+   r   rS   r	   Ú$test_class_has_method_for_iface_attrš  s    z5Test_verifyClass.test_class_has_method_for_iface_attrc                 C   s`   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dƒƒ}|  || j||¡ d S )	Nr   r   r   r5   c                   @   s   e Zd Zdd„ ZdS )zFTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrentc                   S   s   d S r    r   r   r   r   r	   r!   °  s    zMTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrent.methodNr#   r   r   r   r	   r   ¯  s   r   c                   @   s   e Zd ZdZdS )zETest_verifyClass.test_class_has_nonmethod_for_method.<locals>.Currenté   Nr#   r   r   r   r	   r   ³  s   r   )r   r   r   r   r6   r   r
   r8   r   r   r	   Ú#test_class_has_nonmethod_for_methodª  s      ÿz4Test_verifyClass.test_class_has_nonmethod_for_methodc                    s^   ddl m‰  ddl m} ddl m} G ‡ fdd„d|ƒ}||ƒG dd„ dƒƒ}|  ||¡ d S )	Nr   rS   r   r   c                       s   e Zd Z” dƒZdS )zITest_verifyClass.test_class_has_attribute_for_attribute.<locals>.ICurrentrU   NrV   r   rS   r   r	   r   ¿  s   r   c                   @   s   e Zd ZdZdS )zHTest_verifyClass.test_class_has_attribute_for_attribute.<locals>.CurrentrZ   NrV   r   r   r   r	   r   Â  s   r   rX   r+   r   rS   r	   Ú&test_class_has_attribute_for_attributeº  s    z7Test_verifyClass.test_class_has_attribute_for_attributec                    s^   ddl m‰  ddl m} ddl m} G ‡ fdd„d|ƒ}||ƒG dd„ dƒƒ}|  ||¡ d S )	Nr   rS   r   r   c                       s   e Zd Z” dƒZdS )zLTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.ICurrentrU   NrV   r   rS   r   r	   r   Ï  s   r   c                   @   s   e Zd ZdS )zKTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.CurrentNr   r   r   r   r	   r   Ò  s   r   rX   r+   r   rS   r	   Ú)test_class_misses_attribute_for_attributeÉ  s    z:Test_verifyClass.test_class_misses_attribute_for_attributec                    s‚   ddl m} ddlm} ddlm} G dd„ d|ƒ‰G dd„ dtƒ‰ G ‡fd	d
„d
|ƒ}||ƒG ‡ fdd„dƒƒ}|  ||¡ d S )Nr   )ÚMethodr   r   c                   @   s   e Zd Zdd„ ZdS )zETest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethodc                 _   s
   t ƒ ‚d S r    r'   ©r   r;   r=   r   r   r	   Ú__call__Þ  s    zNTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethod.__call__N©r   r   r   r`   r   r   r   r	   ÚQuasiMethodÝ  s   rb   c                   @   s   e Zd Zdd„ ZdS )zGTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallablec                 _   s
   t ƒ ‚d S r    r'   r_   r   r   r	   r`   â  s    zPTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallable.__call__Nra   r   r   r   r	   ÚQuasiCallableá  s   rc   c                       s   e Zd Z” dƒZdS )zBTest_verifyClass.test_w_callable_non_func_method.<locals>.ICurrentzThis is callableNrV   r   )rb   r   r	   r   å  s   r   c                       s   e Zd Z” ƒ ZdS )zATest_verifyClass.test_w_callable_non_func_method.<locals>.CurrentNrV   r   )rc   r   r	   r   è  s   r   )Zzope.interface.interfacer^   r   r   r   r   r
   )r   r^   r   r   r   r   r   )rc   rb   r	   Útest_w_callable_non_func_methodØ  s    z0Test_verifyClass.test_w_callable_non_func_methodc                    s\   ddl m} ddl m} dd„ ‰ G dd„ d|ƒ}||ƒG ‡ fdd	„d	tƒƒ}|  ||¡ d S )
Nr   r   r   c                    s   t ‡ fdd„ƒS )Nc                    s
   ˆ   | ¡S r    )Ú__get__r)   ©Úfuncr   r	   Ú<lambda>õ  r"   zMTest_verifyClass.test_w_decorated_method.<locals>.decorator.<locals>.<lambda>)Úpropertyrf   r   rf   r	   Ú	decoratoró  s    z;Test_verifyClass.test_w_decorated_method.<locals>.decoratorc                   @   s   e Zd Zdd„ ZdS )z:Test_verifyClass.test_w_decorated_method.<locals>.ICurrentc                 S   s   d S r    r   r1   r   r   r	   r!   ù  s    zATest_verifyClass.test_w_decorated_method.<locals>.ICurrent.methodNr#   r   r   r   r	   r   ÷  s   r   c                       s   e Zd Z” dd„ ƒZdS )z9Test_verifyClass.test_w_decorated_method.<locals>.Currentc                 S   s
   t ƒ ‚d S r    r'   rJ   r   r   r	   r!   ÿ  s    z@Test_verifyClass.test_w_decorated_method.<locals>.Current.methodNr#   r   ©rj   r   r	   r   ü  s   r   r*   r+   r   rk   r	   Útest_w_decorated_methodï  s    z(Test_verifyClass.test_w_decorated_methodN) r   r   r   r
   r   r   r&   r,   r/   r0   r4   r9   r<   r>   r@   rA   rC   rE   rG   rH   rK   rL   rM   rP   rQ   rR   rY   r[   r\   r]   rd   rl   r   r   r   r	   r      s:   r   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTest_verifyObjectc                 C   s.   ddl m} t|tttƒfƒr$|ƒ }|||ƒS )Nr   ©ÚverifyObject)r   ro   Ú
isinstanceÚtypeÚOldSkool)r   r   Útargetro   r   r   r	   r
     s    zTest_verifyObject._callFUTc                    sp   ddl m‰  ddl m} ddl m} ddlm} G ‡ fdd„d|ƒ}||ƒG dd	„ d	ƒƒ}|  || j||¡ d S )
Nr   rS   r   r   r   c                       s   e Zd Z” dƒZdS )zMTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.ICurrentrU   NrV   r   rS   r   r	   r     s   r   c                   @   s   e Zd ZdS )zLTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.CurrentNr   r   r   r   r	   r     s   r   )r   rT   r   r   r   r   r   r
   r%   r   rS   r	   r]     s      ÿz;Test_verifyObject.test_class_misses_attribute_for_attributec                 C   s(   ddl m} ddlm} |  ||¡ d S )Nr   )ÚIDummyModule©Údummy)Zzope.interface.tests.idummyrt   Úzope.interface.testsrv   r
   )r   rt   rv   r   r   r	   Útest_module_hit  s    z!Test_verifyObject.test_module_hitc                 C   sJ   ddl m} ddlm} ddlm} G dd„ d|ƒ}|  || j||¡ d S )Nr   r   ru   r   c                   @   s   e Zd ZdS )z8Test_verifyObject.test_module_miss.<locals>.IDummyModuleNr   r   r   r   r	   rt   *  s   rt   )r   r   rw   rv   r   r   r   r
   )r   r   rv   r   rt   r   r   r	   Útest_module_miss$  s      ÿz"Test_verifyObject.test_module_missc                 C   sZ   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|||ƒ d S )	Nr   r   )Úproviderrn   c                   @   s   e Zd Zdd„ ZdS )z>Test_verifyObject.test_staticmethod_hit_on_class.<locals>.IFooc                 S   s   dS )zThe bar methodNr   ©r2   r3   r   r   r	   Úbar7  s    zBTest_verifyObject.test_staticmethod_hit_on_class.<locals>.IFoo.barN)r   r   r   r|   r   r   r   r	   ÚIFoo5  s   r}   c                   @   s   e Zd Zedd„ ƒZdS )z=Test_verifyObject.test_staticmethod_hit_on_class.<locals>.Fooc                 S   s   t dƒ‚d S )NzWe're never actually called)ÚAssertionErrorr{   r   r   r	   r|   =  s    zATest_verifyObject.test_staticmethod_hit_on_class.<locals>.Foo.barN)r   r   r   Ústaticmethodr|   r   r   r   r	   ÚFoo:  s   r€   )r   r   rz   r   ro   r   )r   r   rz   ro   r}   r€   r   r   r	   Útest_staticmethod_hit_on_class0  s    z0Test_verifyObject.test_staticmethod_hit_on_classN)r   r   r   r
   r]   rx   ry   r�   r   r   r   r	   rm     s
   rm   c                   @   s   e Zd ZdS )rr   Nr   r   r   r   r	   rr   E  s   rr   )Ú__doc__ZunittestZTestCaser   rm   rr   r   r   r   r	   Ú<module>   s      u@