U
    [eJ                     @   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                   @   s4  e Zd ZdZdd Ze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d0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Z d:d; Z!d<d= Z"d>d? Z#d@dA Z$dBdC Z%dDdE Z&dFdG Z'dHdI Z(dS )JTest_verifyClassNc                 C   s   |   | _d S N)_get_FUTverifierself r   b/var/www/html/services/stratfitenv/lib/python3.8/site-packages/zope/interface/tests/test_verify.pysetUp   s    zTest_verifyClass.setUpc                 C   s   ddl m} |S )Nr   )verifyClass)zope.interface.verifyr   )clsr   r   r   r	   r      s    zTest_verifyClass._get_FUTc                 C   s   |S r   r   )r   xr   r   r	   <lambda>        zTest_verifyClass.<lambda>c                 K   s   | j || |f|S r   )r   _adjust_object_before_verify)r   Zifaceklasskwargsr   r   r	   _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   7   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_later3   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 r   r   r   r   r   r	   methodG   s    zWTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrent.methodNr   r   r   r+   r   r   r   r	   r   F   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   J   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_simpleA   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+   V   s    zOTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrent.methodNr,   r   r   r   r	   r   U   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   NotImplementedErrorr   r   r   r	   r+   \   s    zNTest_verifyClass.test_class_has_required_method_simple.<locals>.Current.methodNr,   r   r   r   r	   r   Y   s   r   r   r   r(   r!   r   r   r   r(   r   r   r   r   r	   %test_class_has_required_method_simpleQ   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+   g   s    zUTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBase.methodNr,   r   r   r   r	   IBasef   s   r5   c                   @   s   e Zd ZdS )zQTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IDerivedNr   r   r   r   r	   IDerivedj   s   r6   c                   @   s   e Zd ZdS )zPTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.CurrentNr   r   r   r   r	   r   m   s   r   r-   )r   r   r(   r*   r5   r6   r   r   r   r	   .test_class_doesnt_have_required_method_deriveda   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+   y   s    zMTest_verifyClass.test_class_has_required_method_derived.<locals>.IBase.methodNr,   r   r   r   r	   r5   x   s   r5   c                   @   s   e Zd ZdS )zITest_verifyClass.test_class_has_required_method_derived.<locals>.IDerivedNr   r   r   r   r	   r6   |   s   r6   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   r0   r   r   r   r	   r+      s    zOTest_verifyClass.test_class_has_required_method_derived.<locals>.Current.methodNr,   r   r   r   r	   r      s   r   r2   )r   r   r(   r5   r6   r   r   r   r	   &test_class_has_required_method_derivedt   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   r0   )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   r2   r3   r   r   r	   (test_method_takes_wrong_arg_names_but_OK   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   r9   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   r0   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    r>   r!   r"   r   r   r   r(   r>   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'   r=   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   r0   r   r   r   r	   r+      s    zRTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Current.methodNr,   r   r   r   r	   r      s   r   r?   r@   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'   r=   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   r0   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   r?   r@   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'   r=   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   r9   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   r0   r   r:   r;   r   r   r	   r+      s    zDTest_verifyClass.test_method_takes_extra_arg.<locals>.Current.methodNr,   r   r   r   r	   r      s   r   r?   r@   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   r9   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   r0   rG   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   r2   r3   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   r9   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   r0   r   rC   r   r   r	   r+     s    zOTest_verifyClass.test_method_takes_only_positional_args.<locals>.Current.methodNr,   r   r   r   r	   r      s   r   r2   r3   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'   r=   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   r9   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   r0   r   rE   r   r   r	   r+     s    zFTest_verifyClass.test_method_takes_only_kwargs.<locals>.Current.methodNr,   r   r   r   r	   r     s   r   r?   r@   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   r9   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   r0   r   r:   rC   r   r   r	   r+   &  s    zITest_verifyClass.test_method_takes_extra_starargs.<locals>.Current.methodNr,   r   r   r   r	   r   #  s   r   r2   r3   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   r9   r   r   r	   r+   1  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   r0   )r   r:   rC   rE   r   r   r	   r+   7  s    zTTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Current.methodNr,   r   r   r   r	   r   4  s   r   r2   r3   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'   r=   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   r:   rC   r   r   r	   r+   C  s    zbTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrent.methodNr,   r   r   r   r	   r   A  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   r0   r   r:   r   r   r	   r+   I  s    zaTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Current.methodNr,   r   r   r   r	   r   F  s   r   r?   r@   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   rQ   r   r   r	   r+   U  s    z\Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrent.methodNr,   r   r   r   r	   r   S  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   r0   rN   r   r   r	   r+   [  s    z[Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Current.methodNr,   r   r   r   r	   r   X  s   r   r2   r3   r   r   r	   2test_method_takes_required_positional_and_starargsO  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   rQ   r   r   r	   r+   f  s    zITest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrent.methodNr,   r   r   r   r	   r   d  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   r0   rJ   r   r   r	   r+   l  s    zHTest_verifyClass.test_method_takes_only_starargs.<locals>.Current.methodNr,   r   r   r   r	   r   i  s   r   r2   r3   r   r   r	   test_method_takes_only_starargs`  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   r   r   r   r	   r+   w  s    zKTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrent.methodNr,   r   r   r   r	   r   u  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   r0   rL   r   r   r	   r+   }  s    zJTest_verifyClass.test_method_takes_required_kwargs.<locals>.Current.methodNr,   r   r   r   r	   r   z  s   r   r2   r3   r   r   r	   !test_method_takes_required_kwargsq  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'   r=   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   rB   r   r   r	   r+     s    z]Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrent.methodNr,   r   r   r   r	   r     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   r0   rN   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   r?   r@   r   r   r	   3test_method_takes_positional_plus_required_starargs  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'   r=   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   rV   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   r0   rR   r   r   r	   r+     s    zPTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Current.methodNr,   r   r   r   r	   r     s   r   r?   r@   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   rZ   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   r0   r   r   r   r	   r^     s    zKTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Current.attrNr]   r   r   r   r	   r     s   r   r   r[   r   r(   r   r3   r   rZ   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'   r=   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    r>   r"   r   r@   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   rZ   r   r'   c                       s   e Zd Z dZdS )zITest_verifyClass.test_class_has_attribute_for_attribute.<locals>.ICurrentr\   Nr]   r   rZ   r   r	   r     s   r   c                   @   s   e Zd ZdZdS )zHTest_verifyClass.test_class_has_attribute_for_attribute.<locals>.Currentra   Nr]   r   r   r   r	   r     s   r   r_   r3   r   rZ   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   rZ   r   r'   c                       s   e Zd Z dZdS )zLTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.ICurrentr\   Nr]   r   rZ   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   r_   r3   r   rZ   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   r0   r   rC   rE   r   r   r	   __call__  s    zNTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethod.__call__Nr   r   r   rg   r   r   r   r	   QuasiMethod  s   ri   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   r0   rf   r   r   r	   rg     s    zPTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallable.__call__Nrh   r   r   r   r	   QuasiCallable  s   rj   c                       s   e Zd Z dZdS )zBTest_verifyClass.test_w_callable_non_func_method.<locals>.ICurrentzThis is callableNr]   r   )ri   r   r	   r     s   r   c                       s   e Zd Z  ZdS )zATest_verifyClass.test_w_callable_non_func_method.<locals>.CurrentNr]   r   )rj   r   r	   r     s   r   )Zzope.interface.interfacere   r   r   r(   r!   r   )r   re   r   r(   r   r   r   )rj   ri   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	   r     r   zMTest_verifyClass.test_w_decorated_method.<locals>.decorator.<locals>.<lambda>)propertyrm   r   rm   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   r9   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   r0   rR   r   r   r	   r+     s    z@Test_verifyClass.test_w_decorated_method.<locals>.Current.methodNr,   r   rp   r   r	   r     s   r   r2   r3   r   rq   r	   test_w_decorated_method  s    z(Test_verifyClass.test_w_decorated_methodc                 C   s    ddl m} | j|tdd d S )Nr   )IFullMappingTZ	tentative)Zzope.interface.common.mappingrs   r   dict)r   rs   r   r   r	   test_dict_IFullMapping  s    z'Test_verifyClass.test_dict_IFullMappingc                 C   s    ddl m} | j|tdd d S )Nr   )	ISequenceTrt   )zope.interface.common.sequencerw   r   list)r   rw   r   r   r	   test_list_ISequence  s    z$Test_verifyClass.test_list_ISequencec                 C   s    ddl m} | j|tdd d S )Nr   )IReadSequenceTrt   )rx   r{   r   tuple)r   r{   r   r   r	   test_tuple_IReadSequence$  s    z)Test_verifyClass.test_tuple_IReadSequencec           
   	   C   s  ddl m} ddl m} ddl m} ddlm} ddlm} G dd d|}G d	d
 d
t}| |}| 	|| W 5 Q R X |j
}	| dt|	j | |	jd | | |	jd | | |	jd | ||| dd |_| | | 	|| W 5 Q R X d S )Nr   )MultipleInvalidr   r)   r   r$   c                   @   s   e Zd Zdd Zdd ZdS )z?Test_verifyClass.test_multiple_invalid.<locals>.ISeveralMethodsc                 S   s   dS )zMethod 1Nr   arg1r   r   r	   meth12  s    zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth1c                 S   s   dS )zMethod 2Nr   r   r   r   r	   meth24  s    zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth2N)r   r   r   r   r   r   r   r   r	   ISeveralMethods1  s   r   c                   @   s   e Zd ZdS )z>Test_verifyClass.test_multiple_invalid.<locals>.SeveralMethodsNr   r   r   r   r	   SeveralMethods7  s   r      ra      c                 S   s   dS )NZHir   )r   r   r   r   r	   r   F  r   z8Test_verifyClass.test_multiple_invalid.<locals>.<lambda>)r    r~   r   r*   r   r   r%   r!   r"   r   	exceptionassertEquallen
exceptionsZassertIsInstancer   )
r   r~   r   r*   r   r%   r   r   excexr   r   r	   test_multiple_invalid*  s$    

z&Test_verifyClass.test_multiple_invalid))r   r   r   r   r
   classmethodr   r   r   r#   r&   r/   r4   r7   r8   r<   rA   rD   rF   rH   rI   rK   rM   rO   rP   rS   rT   rU   rW   rX   rY   r`   rb   rc   rd   rk   rr   rv   rz   r}   r   r   r   r   r	   r      sL   

r   c                   @   s@   e Zd Zed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} |S )Nr   verifyObject)r   r   )r   r   r   r   r	   r   M  s    zTest_verifyObject._get_FUTc                 C   s   t |tttfr| }|S r   )
isinstancetypeOldSkool)r   targetr   r   r	   r   R  s    z.Test_verifyObject._adjust_object_before_verifyc                    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   rZ   r   r'   r)   c                       s   e Zd Z dZdS )zMTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.ICurrentr\   Nr]   r   rZ   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   a  s   r   )r   r[   r   r(   r    r*   r"   r   r.   r   rZ   r	   rd   W  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.idummyr   zope.interface.testsr   r   )r   r   r   r   r   r	   test_module_hith  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   r   r   c                   @   s   e Zd ZdS )z8Test_verifyObject.test_module_miss.<locals>.IDummyModuleNr   r   r   r   r	   r   t  s   r   )r   r   r   r   r    r   r"   r   )r   r   r   r   r   r   r   r	   test_module_missn  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   )providerr   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   r:   r;   r   r   r	   bar  s    zBTest_verifyObject.test_staticmethod_hit_on_class.<locals>.IFoo.barN)r   r   r   r   r   r   r   r	   IFoo  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   r   r   r   r!   )r   r   r   r   r   r   r   r   r	   test_staticmethod_hit_on_classz  s    z0Test_verifyObject.test_staticmethod_hit_on_classN)
r   r   r   r   r   r   rd   r   r   r   r   r   r   r	   r   K  s   
r   c                   @   s   e Zd ZdS )r   Nr   r   r   r   r	   r     s   r   )__doc__ZunittestZTestCaser   r   r   r   r   r   r	   <module>   s       ;D