o
    >h K                     @   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   /var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/zope/interface/tests/test_verify.pysetUp   s   zTest_verifyClass.setUpc                 C      ddl m} |S )Nr   )verifyClass)zope.interface.verifyr   )clsr   r   r   r	   r         zTest_verifyClass._get_FUTc                 C   s   |S r   r   )r   xr   r   r	   _adjust_object_before_verify!   s   z-Test_verifyClass._adjust_object_before_verifyc                 K   s   | j || |fi |S r   )r   r   )r   ifaceklasskwargsr   r   r	   _callFUT$   s
   zTest_verifyClass._callFUTc                 C   sL   ddl m} ddlm} G dd d|}G dd d}| || j|| d S )Nr   	InterfaceDoesNotImplementc                   @      e Zd ZdS )z>Test_verifyClass.test_class_doesnt_implement.<locals>.ICurrentN__name__
__module____qualname__r   r   r   r	   ICurrent-       r   c                   @   r   )z=Test_verifyClass.test_class_doesnt_implement.<locals>.CurrentNr   r   r   r   r	   Current0   r    r!   )zope.interfacer   zope.interface.exceptionsr   assertRaisesr   )r   r   r   r   r!   r   r   r	   test_class_doesnt_implement)   s
   z,Test_verifyClass.test_class_doesnt_implementc                 C   sP   ddl m} ddl m} G dd d|}G dd d}||| | || d S )Nr   r   classImplementsc                   @   r   )zXTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.ICurrentNr   r   r   r   r	   r   9   r    r   c                   @   r   )zWTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.CurrentNr   r   r   r   r	   r!   <   r    r!   )r"   r   r'   r   )r   r   r'   r   r!   r   r   r	   5test_class_doesnt_implement_but_classImplements_later5   s   
zFTest_verifyClass.test_class_doesnt_implement_but_classImplements_laterc                 C   `   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   implementerBrokenImplementationc                   @      e Zd Zdd ZdS )zPTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrentc                   S      dS 	docstringNr   r   r   r   r	   methodI       zWTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrent.methodNr   r   r   r2   r   r   r   r	   r   H       r   c                   @   r   )zOTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.CurrentNr   r   r   r   r	   r!   L       r!   r"   r   r+   r#   r-   r$   r   r   r   r+   r-   r   r!   r   r   r	   -test_class_doesnt_have_required_method_simpleC      z>Test_verifyClass.test_class_doesnt_have_required_method_simplec                 C   N   ddl m} ddl m} G dd d|}||G dd d}| || d S )Nr   r   r*   c                   @   r.   )zHTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrentc                   S   r/   r0   r   r   r   r   r	   r2   X   r3   zOTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrent.methodNr4   r   r   r   r	   r   W   r5   r   c                   @   r.   )zGTest_verifyClass.test_class_has_required_method_simple.<locals>.Currentc                 S      t  r   NotImplementedErrorr   r   r   r	   r2   ^      zNTest_verifyClass.test_class_has_required_method_simple.<locals>.Current.methodNr4   r   r   r   r	   r!   [       r!   r"   r   r+   r   r   r   r+   r   r!   r   r   r	   %test_class_has_required_method_simpleS   s   z6Test_verifyClass.test_class_has_required_method_simplec                 C   sp   ddl m} ddl m} ddlm} G dd d|}G dd d|}||G d	d
 d
}| || j|| d S )Nr   r   r*   r,   c                   @   r.   )zNTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBasec                   S   r/   r0   r   r   r   r   r	   r2   i   r3   zUTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBase.methodNr4   r   r   r   r	   IBaseh   r5   rD   c                   @   r   )zQTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IDerivedNr   r   r   r   r	   IDerivedl   r    rE   c                   @   r   )zPTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.CurrentNr   r   r   r   r	   r!   o   r6   r!   r7   )r   r   r+   r-   rD   rE   r!   r   r   r	   .test_class_doesnt_have_required_method_derivedc   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	}| || d S )
Nr   r   r*   c                   @   r.   )zFTest_verifyClass.test_class_has_required_method_derived.<locals>.IBasec                   S   r/   r0   r   r   r   r   r	   r2   {   r3   zMTest_verifyClass.test_class_has_required_method_derived.<locals>.IBase.methodNr4   r   r   r   r	   rD   z   r5   rD   c                   @   r   )zITest_verifyClass.test_class_has_required_method_derived.<locals>.IDerivedNr   r   r   r   r	   rE   ~   r    rE   c                   @   r.   )zHTest_verifyClass.test_class_has_required_method_derived.<locals>.Currentc                 S   r<   r   r=   r   r   r   r	   r2      r?   zOTest_verifyClass.test_class_has_required_method_derived.<locals>.Current.methodNr4   r   r   r   r	   r!      r@   r!   rA   )r   r   r+   rD   rE   r!   r   r   r	   &test_class_has_required_method_derivedv   s   z7Test_verifyClass.test_class_has_required_method_derivedc                 C   r;   )Nr   r   r*   c                   @   r.   )zKTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrentc                 S   r/   r0   r   ar   r   r	   r2      r3   zRTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrent.methodNr4   r   r   r   r	   r          r   c                   @   r.   )zJTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.Currentc                 S   r<   r   r=   )r   br   r   r	   r2      r?   zQTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.Current.methodNr4   r   r   r   r	   r!      r@   r!   rA   rB   r   r   r	   (test_method_takes_wrong_arg_names_but_OK   s   z9Test_verifyClass.test_method_takes_wrong_arg_names_but_OKc                 C   r)   )	Nr   r   r*   BrokenMethodImplementationc                   @   r.   )zDTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2      r3   zKTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrent.methodNr4   r   r   r   r	   r      rJ   r   c                   @   r.   )zCTest_verifyClass.test_method_takes_not_enough_args.<locals>.Currentc                 S   r<   r   r=   r   r   r   r	   r2      r?   zJTest_verifyClass.test_method_takes_not_enough_args.<locals>.Current.methodNr4   r   r   r   r	   r!      r@   r!   r"   r   r+   r#   rN   r$   r   r   r   r+   rN   r   r!   r   r   r	   !test_method_takes_not_enough_args      z2Test_verifyClass.test_method_takes_not_enough_argsc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )zLTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrentc                  W   r/   r0   r   argsr   r   r	   r2      r3   zSTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r      rJ   r   c                   @   r.   )zKTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Currentc                 S   r<   r   r=   r   r   r   r	   r2      r?   zRTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Current.methodNr4   r   r   r   r	   r!      r@   r!   rO   rP   r   r   r	   )test_method_doesnt_take_required_starargs   rR   z:Test_verifyClass.test_method_doesnt_take_required_starargsc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )zOTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrentc                  [   r/   r0   r   )kwr   r   r	   r2      r3   zVTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r      rJ   r   c                   @   r.   )zNTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Currentc                 S   r<   r   r=   r   r   r   r	   r2      r?   zUTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Current.methodNr4   r   r   r   r	   r!      r@   r!   rO   rP   r   r   r	   ,test_method_doesnt_take_required_only_kwargs   rR   z=Test_verifyClass.test_method_doesnt_take_required_only_kwargsc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )z>Test_verifyClass.test_method_takes_extra_arg.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2      r3   zETest_verifyClass.test_method_takes_extra_arg.<locals>.ICurrent.methodNr4   r   r   r   r	   r      rJ   r   c                   @   r.   )z=Test_verifyClass.test_method_takes_extra_arg.<locals>.Currentc                 S   r<   r   r=   r   rI   rK   r   r   r	   r2      r?   zDTest_verifyClass.test_method_takes_extra_arg.<locals>.Current.methodNr4   r   r   r   r	   r!      r@   r!   rO   rP   r   r   r	   test_method_takes_extra_arg   rR   z,Test_verifyClass.test_method_takes_extra_argc                 C   r;   )Nr   r   r*   c                   @   r.   )zKTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2      r3   zRTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrent.methodNr4   r   r   r   r	   r      rJ   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   r<   r   r=   rX   r   r   r	   r2      r?   zQTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.Current.methodr   r4   r   r   r   r	   r!      s    r!   rA   rB   r   r   r	   (test_method_takes_extra_arg_with_default      z9Test_verifyClass.test_method_takes_extra_arg_with_defaultc                 C   r;   )Nr   r   r*   c                   @   r.   )zITest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2      r3   zPTest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrent.methodNr4   r   r   r   r	   r      rJ   r   c                   @   r.   )zHTest_verifyClass.test_method_takes_only_positional_args.<locals>.Currentc                 W   r<   r   r=   r   rT   r   r   r	   r2     r?   zOTest_verifyClass.test_method_takes_only_positional_args.<locals>.Current.methodNr4   r   r   r   r	   r!     r@   r!   rA   rB   r   r   r	   &test_method_takes_only_positional_args   r[   z7Test_verifyClass.test_method_takes_only_positional_argsc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )z@Test_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2     r3   zGTest_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r     rJ   r   c                   @   r.   )z?Test_verifyClass.test_method_takes_only_kwargs.<locals>.Currentc                 [   r<   r   r=   r   rV   r   r   r	   r2     r?   zFTest_verifyClass.test_method_takes_only_kwargs.<locals>.Current.methodNr4   r   r   r   r	   r!     r@   r!   rO   rP   r   r   r	   test_method_takes_only_kwargs	  rR   z.Test_verifyClass.test_method_takes_only_kwargsc                 C   r;   )Nr   r   r*   c                   @   r.   )zCTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2   "  r3   zJTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r      rJ   r   c                   @   r.   )zBTest_verifyClass.test_method_takes_extra_starargs.<locals>.Currentc                 W   r<   r   r=   r   rI   rT   r   r   r	   r2   (  r?   zITest_verifyClass.test_method_takes_extra_starargs.<locals>.Current.methodNr4   r   r   r   r	   r!   %  r@   r!   rA   rB   r   r   r	    test_method_takes_extra_starargs  r[   z1Test_verifyClass.test_method_takes_extra_starargsc                 C   r;   )Nr   r   r*   c                   @   r.   )zNTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2   3  r3   zUTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r   1  rJ   r   c                   @   r.   )zMTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Currentc                 _   r<   r   r=   )r   rI   rT   rV   r   r   r	   r2   9  r?   zTTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Current.methodNr4   r   r   r   r	   r!   6  r@   r!   rA   rB   r   r   r	   +test_method_takes_extra_starargs_and_kwargs-  r[   z<Test_verifyClass.test_method_takes_extra_starargs_and_kwargsc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )z[Test_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrentc                 W   r/   r0   r   rI   rT   r   r   r	   r2   E  r3   zbTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r   C  rJ   r   c                   @   r.   )zZTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Currentc                 S   r<   r   r=   r   rI   r   r   r	   r2   K  r?   zaTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Current.methodNr4   r   r   r   r	   r!   H  r@   r!   rO   rP   r   r   r	   8test_method_doesnt_take_required_positional_and_starargs>  rR   zITest_verifyClass.test_method_doesnt_take_required_positional_and_starargsc                 C   r;   )Nr   r   r*   c                   @   r.   )zUTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrentc                 W   r/   r0   r   rc   r   r   r	   r2   W  r3   z\Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r   U  rJ   r   c                   @   r.   )zTTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Currentc                 W   r<   r   r=   r`   r   r   r	   r2   ]  r?   z[Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Current.methodNr4   r   r   r   r	   r!   Z  r@   r!   rA   rB   r   r   r	   2test_method_takes_required_positional_and_starargsQ  r[   zCTest_verifyClass.test_method_takes_required_positional_and_starargsc                 C   r;   )Nr   r   r*   c                   @   r.   )zBTest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrentc                 W   r/   r0   r   rc   r   r   r	   r2   h  r3   zITest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r   f  rJ   r   c                   @   r.   )zATest_verifyClass.test_method_takes_only_starargs.<locals>.Currentc                 W   r<   r   r=   r\   r   r   r	   r2   n  r?   zHTest_verifyClass.test_method_takes_only_starargs.<locals>.Current.methodNr4   r   r   r   r	   r!   k  r@   r!   rA   rB   r   r   r	   test_method_takes_only_starargsb  r[   z0Test_verifyClass.test_method_takes_only_starargsc                 C   r;   )Nr   r   r*   c                   @   r.   )zDTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrentc                  [   r/   r0   r   r   r   r   r	   r2   y  r3   zKTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r   w  rJ   r   c                   @   r.   )zCTest_verifyClass.test_method_takes_required_kwargs.<locals>.Currentc                 [   r<   r   r=   r^   r   r   r	   r2     r?   zJTest_verifyClass.test_method_takes_required_kwargs.<locals>.Current.methodNr4   r   r   r   r	   r!   |  r@   r!   rA   rB   r   r   r	   !test_method_takes_required_kwargss  r[   z2Test_verifyClass.test_method_takes_required_kwargsc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )zVTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrentc                  W   r/   r0   r   rS   r   r   r	   r2     r3   z]Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r     rJ   r   c                   @   r.   )zUTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Currentc                 W   r<   r   r=   r`   r   r   r	   r2     r?   z\Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Current.methodNr4   r   r   r   r	   r!     r@   r!   rO   rP   r   r   r	   3test_method_takes_positional_plus_required_starargs  rR   zDTest_verifyClass.test_method_takes_positional_plus_required_starargsc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )zJTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrentc                  [   r/   r0   r   rh   r   r   r	   r2     r3   zQTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrent.methodNr4   r   r   r   r	   r     rJ   r   c                   @   r.   )zITest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Currentc                 S   r<   r   r=   rd   r   r   r	   r2     r?   zPTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Current.methodNr4   r   r   r   r	   r!     r@   r!   rO   rP   r   r   r	   'test_method_doesnt_take_required_kwargs  rR   z8Test_verifyClass.test_method_doesnt_take_required_kwargsc                    ^   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                          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   rm   r   r	   r     r5   r   c                   @   r.   )zFTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Currentc                 S   r<   r   r=   r   r   r   r	   rr     r?   zKTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Current.attrNrq   r   r   r   r	   r!     r@   r!   r"   rn   r   r+   r   rB   r   rm   r	   $test_class_has_method_for_iface_attr  s   z5Test_verifyClass.test_class_has_method_for_iface_attrc                 C   r)   )	Nr   r   r*   rM   c                   @   r.   )zFTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrentc                   S   r/   r0   r   r   r   r   r	   r2     r3   zMTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrent.methodNr4   r   r   r   r	   r     r5   r   c                   @      e Zd ZdZdS )zETest_verifyClass.test_class_has_nonmethod_for_method.<locals>.Current   Nr4   r   r   r   r	   r!     s    r!   rO   rP   r   r   r	   #test_class_has_nonmethod_for_method  r:   z4Test_verifyClass.test_class_has_nonmethod_for_methodc                    rl   )	Nr   rm   r   r*   c                       ro   )zITest_verifyClass.test_class_has_attribute_for_attribute.<locals>.ICurrentrp   Nrq   r   rm   r   r	   r     r5   r   c                   @   ru   )zHTest_verifyClass.test_class_has_attribute_for_attribute.<locals>.Currentrv   Nrq   r   r   r   r	   r!     s    r!   rs   rB   r   rm   r	   &test_class_has_attribute_for_attribute  s   z7Test_verifyClass.test_class_has_attribute_for_attributec                    rl   )	Nr   rm   r   r*   c                       ro   )zLTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.ICurrentrp   Nrq   r   rm   r   r	   r     r5   r   c                   @   r   )zKTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.CurrentNr   r   r   r   r	   r!     r6   r!   rs   rB   r   rm   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 G fd	d
d
|}||G  fddd}| || d S )Nr   r   r*   )Methodc                   @   r.   )zETest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethodc                 _   r<   r   r=   r   rT   rV   r   r   r	   __call__  r?   zNTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethod.__call__Nr   r   r   r|   r   r   r   r	   QuasiMethod  r5   r~   c                   @   r.   )zGTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallablec                 _   r<   r   r=   r{   r   r   r	   r|     r?   zPTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallable.__call__Nr}   r   r   r   r	   QuasiCallable  r5   r   c                       ro   )zBTest_verifyClass.test_w_callable_non_func_method.<locals>.ICurrentzThis is callableNrq   r   )r~   r   r	   r     r5   r   c                       s   e Zd Z  ZdS )zATest_verifyClass.test_w_callable_non_func_method.<locals>.CurrentNrq   r   )r   r   r	   r!     s    
r!   )r"   r   r+   zope.interface.interfacerz   r   )r   r   r+   rz   r   r!   r   )r   r~   r	   test_w_callable_non_func_method  s   z0Test_verifyClass.test_w_callable_non_func_methodc                    sZ   ddl m} ddl m} dd  G dd d|}||G  fdd	d	}| || d S )
Nr   r   r*   c                    s   t  fddS )Nc                    s
     | S r   )__get__r   funcr   r	   <lambda>  s   
 zMTest_verifyClass.test_w_decorated_method.<locals>.decorator.<locals>.<lambda>)propertyr   r   r   r	   	decorator  s   z;Test_verifyClass.test_w_decorated_method.<locals>.decoratorc                   @   r.   )z:Test_verifyClass.test_w_decorated_method.<locals>.ICurrentc                 S   r/   r0   r   rH   r   r   r	   r2     r3   zATest_verifyClass.test_w_decorated_method.<locals>.ICurrent.methodNr4   r   r   r   r	   r     rJ   r   c                       s   e Zd Z dd ZdS )z9Test_verifyClass.test_w_decorated_method.<locals>.Currentc                 S   r<   r   r=   rd   r   r   r	   r2     s   z@Test_verifyClass.test_w_decorated_method.<locals>.Current.methodNr4   r   r   r   r	   r!         r!   rA   rB   r   r   r	   test_w_decorated_method  s   z(Test_verifyClass.test_w_decorated_methodc                 C       ddl m} | j|tdd d S )Nr   )IFullMappingT	tentative)zope.interface.common.mappingr   r   dict)r   r   r   r   r	   test_dict_IFullMapping  s   z'Test_verifyClass.test_dict_IFullMappingc                 C   r   )Nr   )	ISequenceTr   )zope.interface.common.sequencer   r   list)r   r   r   r   r	   test_list_ISequence     z$Test_verifyClass.test_list_ISequencec                 C   r   )Nr   )IReadSequenceTr   )r   r   r   tuple)r   r   r   r   r	   test_tuple_IReadSequence#  r   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
}| |}| || W d    n1 sCw   Y  |j	}	| 
dt|	j | |	jd | | |	jd | | |	jd | ||| dd |_| | | || W d    d S 1 sw   Y  d S )Nr   r   r&   r,   r   )MultipleInvalidc                   @   s   e Zd Zdd Zdd ZdS )z?Test_verifyClass.test_multiple_invalid.<locals>.ISeveralMethodsc                 S   r/   )zMethod 1Nr   arg1r   r   r	   meth10  r3   zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth1c                 S   r/   )zMethod 2Nr   r   r   r   r	   meth22  r3   zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth2N)r   r   r   r   r   r   r   r   r	   ISeveralMethods/  s    r   c                   @   r   )z>Test_verifyClass.test_multiple_invalid.<locals>.SeveralMethodsNr   r   r   r   r	   SeveralMethods5  r    r      rv      c                 S   r/   )NHir   )r   r   r   r   r	   r   D  r3   z8Test_verifyClass.test_multiple_invalid.<locals>.<lambda>)r"   r   r'   r#   r-   r   r   r$   r   	exceptionassertEquallen
exceptions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(   r9   rC   rF   rG   rL   rQ   rU   rW   rY   rZ   r]   r_   ra   rb   re   rf   rg   ri   rj   rk   rt   rw   rx   ry   r   r   r   r   r   r   r   r   r   r	   r      sN    

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   r   )Nr   verifyObject)r   r   )r   r   r   r   r	   r   L  r   zTest_verifyObject._get_FUTc                 C   s   t |tttfr| }|S r   )
isinstancetypeOldSkool)r   targetr   r   r	   r   Q  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   rm   r   r*   r,   c                       ro   )zMTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.ICurrentrp   Nrq   r   rm   r   r	   r   ]  r5   r   c                   @   r   )zLTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.CurrentNr   r   r   r   r	   r!   `  r6   r!   )r"   rn   r   r+   r#   r-   r$   r   r8   r   rm   r	   ry   V  s   z;Test_verifyObject.test_class_misses_attribute_for_attributec                 C   s(   ddl m} ddlm} | || d S )Nr   dummy)IDummyModule)zope.interface.testsr   zope.interface.tests.idummyr   r   )r   r   r   r   r   r	   test_module_hitg  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                   @   r   )z8Test_verifyObject.test_module_miss.<locals>.IDummyModuleNr   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_module_missm  s   z"Test_verifyObject.test_module_missc                 C   sX   ddl m} ddl m} ddlm} G dd d|}||G dd d}||| d S )	Nr   r   )providerr   c                   @   r.   )z>Test_verifyObject.test_staticmethod_hit_on_class.<locals>.IFooc                 S   r/   )zThe bar methodNr   rI   rK   r   r   r	   bar  r3   zBTest_verifyObject.test_staticmethod_hit_on_class.<locals>.IFoo.barN)r   r   r   r   r   r   r   r	   IFoo~  rJ   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)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  r   r   )r"   r   r   r   r   )r   r   r   r   r   r   r   r   r	   test_staticmethod_hit_on_classy  s   z0Test_verifyObject.test_staticmethod_hit_on_classN)
r   r   r   r   r   r   ry   r   r   r   r   r   r   r	   r   J  s    
r   c                   @   r   )r   Nr   r   r   r   r	   r     r    r   )__doc__unittestTestCaser   r   r   r   r   r   r	   <module>   s       9E