
    Of K                     n    d Z ddlZ G d dej                  Z G d de          Z G d d          ZdS )	z" zope.interface.verify unit tests
    Nc                       e Zd ZdZd Zed             Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d  Z#d! Z$d" Z%d# Z&d$ Z'd% Z(dS )&Test_verifyClassNc                 8    |                                  | _        d S N)_get_FUTverifierselfs    R/var/www/html/env/lib/python3.11/site-packages/zope/interface/tests/test_verify.pysetUpzTest_verifyClass.setUp   s        c                     ddl m} |S )Nr   )verifyClass)zope.interface.verifyr   )clsr   s     r   r   zTest_verifyClass._get_FUT   s    555555r   c                     |S r    )r
   xs     r   _adjust_object_before_verifyz-Test_verifyClass._adjust_object_before_verify!   s    r   c                 F     | j         ||                     |          fi |S r   )r   r   )r
   ifaceklasskwargss       r   _callFUTzTest_verifyClass._callFUT$   s8    t}U!>>uEE' '%' ' 	'r   c                     ddl m} ddlm}  G d d|          } G d d          }|                     || j        ||           d S )Nr   	InterfaceDoesNotImplementc                       e Zd ZdS )>Test_verifyClass.test_class_doesnt_implement.<locals>.ICurrentN__name__
__module____qualname__r   r   r   ICurrentr!   -           Dr   r&   c                       e Zd ZdS )=Test_verifyClass.test_class_doesnt_implement.<locals>.CurrentNr"   r   r   r   Currentr)   0   r'   r   r*   )zope.interfacer   zope.interface.exceptionsr   assertRaisesr   )r
   r   r   r&   r*   s        r   test_class_doesnt_implementz,Test_verifyClass.test_class_doesnt_implement)   s    ,,,,,,>>>>>>	 	 	 	 	y 	 	 		 	 	 	 	 	 	 	 	*DM8WMMMMMr   c                     ddl m} ddl m}  G d d|          } G d d          } |||           |                     ||           d S )Nr   r   classImplementsc                       e Zd ZdS )XTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.ICurrentNr"   r   r   r   r&   r3   9   r'   r   r&   c                       e Zd ZdS )WTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.CurrentNr"   r   r   r   r*   r5   <   r'   r   r*   )r+   r   r1   r   )r
   r   r1   r&   r*   s        r   5test_class_doesnt_implement_but_classImplements_laterzFTest_verifyClass.test_class_doesnt_implement_but_classImplements_later5   s    ,,,,,,222222	 	 	 	 	y 	 	 		 	 	 	 	 	 	 	 	***h(((((r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   implementerBrokenImplementationc                       e Zd Zd ZdS )PTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrentc                      dS 	docstringNr   r   r   r   methodzWTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrent.methodI         r   Nr#   r$   r%   rA   r   r   r   r&   r=   H   #                 r   r&   c                       e Zd ZdS )OTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.CurrentNr"   r   r   r   r*   rF   L           Dr   r*   r+   r   r9   r,   r;   r-   r   )r
   r   r9   r;   r&   r*   s         r   -test_class_doesnt_have_required_method_simplez>Test_verifyClass.test_class_doesnt_have_required_method_simpleC   s    ,,,,,,......BBBBBB	  	  	  	  	 y 	  	  	  
X			 	 	 	 	 	 	 
		 	.-7	< 	< 	< 	< 	<r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )HTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrentc                      dS r?   r   r   r   r   rA   zOTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrent.methodX   rB   r   NrC   r   r   r   r&   rL   W   rD   r   r&   c                       e Zd Zd ZdS )GTest_verifyClass.test_class_has_required_method_simple.<locals>.Currentc                     t                      r   NotImplementedErrorr	   s    r   rA   zNTest_verifyClass.test_class_has_required_method_simple.<locals>.Current.method^       )+++r   NrC   r   r   r   r*   rO   [   #        , , , , ,r   r*   r+   r   r9   r   r
   r   r9   r&   r*   s        r   %test_class_has_required_method_simplez6Test_verifyClass.test_class_has_required_method_simpleS   s    ,,,,,,......	  	  	  	  	 y 	  	  	  
X			, 	, 	, 	, 	, 	, 	, 
		,
 	h(((((r   c                     ddl m} ddl m} ddlm}  G d d|          } G d d|          } ||           G d	 d
                      }|                     || j        ||           d S )Nr   r   r8   r:   c                       e Zd Zd ZdS )NTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBasec                      dS r?   r   r   r   r   rA   zUTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBase.methodi   rB   r   NrC   r   r   r   IBaserZ   h   rD   r   r\   c                       e Zd ZdS )QTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IDerivedNr"   r   r   r   IDerivedr^   l   r'   r   r_   c                       e Zd ZdS )PTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.CurrentNr"   r   r   r   r*   ra   o   rG   r   r*   rH   )r
   r   r9   r;   r\   r_   r*   s          r   .test_class_doesnt_have_required_method_derivedz?Test_verifyClass.test_class_doesnt_have_required_method_derivedc   s    ,,,,,,......BBBBBB	  	  	  	  	 I 	  	  	 	 	 	 	 	u 	 	 	 
X			 	 	 	 	 	 	 
		 	.-7	< 	< 	< 	< 	<r   c                     ddl m} ddl m}  G d d|          } G d d|          } ||           G d d	                      }|                     ||           d S )
Nr   r   r8   c                       e Zd Zd ZdS )FTest_verifyClass.test_class_has_required_method_derived.<locals>.IBasec                      dS r?   r   r   r   r   rA   zMTest_verifyClass.test_class_has_required_method_derived.<locals>.IBase.method{   rB   r   NrC   r   r   r   r\   re   z   rD   r   r\   c                       e Zd ZdS )ITest_verifyClass.test_class_has_required_method_derived.<locals>.IDerivedNr"   r   r   r   r_   rh   ~   r'   r   r_   c                       e Zd Zd ZdS )HTest_verifyClass.test_class_has_required_method_derived.<locals>.Currentc                     t                      r   rQ   r	   s    r   rA   zOTest_verifyClass.test_class_has_required_method_derived.<locals>.Current.method   rS   r   NrC   r   r   r   r*   rj      rT   r   r*   rU   )r
   r   r9   r\   r_   r*   s         r   &test_class_has_required_method_derivedz7Test_verifyClass.test_class_has_required_method_derivedv   s    ,,,,,,......	  	  	  	  	 I 	  	  	 	 	 	 	 	u 	 	 	 
X			, 	, 	, 	, 	, 	, 	, 
		,
 	h(((((r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )KTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrentc                     dS r?   r   as    r   rA   zRTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrent.method   rB   r   NrC   r   r   r   r&   ro      #                 r   r&   c                       e Zd Zd ZdS )JTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.Currentc                     t                      r   rQ   )r
   bs     r   rA   zQTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.Current.method   rS   r   NrC   r   r   r   r*   ru      rT   r   r*   rU   rV   s        r   (test_method_takes_wrong_arg_names_but_OKz9Test_verifyClass.test_method_takes_wrong_arg_names_but_OK   s    ,,,,,,......	  	  	  	  	 y 	  	  	 
 
X			, 	, 	, 	, 	, 	, 	, 
		,
 	h(((((r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   BrokenMethodImplementationc                       e Zd Zd ZdS )DTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zKTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrent.method   rB   r   NrC   r   r   r   r&   r}      rs   r   r&   c                       e Zd Zd ZdS )CTest_verifyClass.test_method_takes_not_enough_args.<locals>.Currentc                     t                      r   rQ   r	   s    r   rA   zJTest_verifyClass.test_method_takes_not_enough_args.<locals>.Current.method   rS   r   NrC   r   r   r   r*   r      rT   r   r*   r+   r   r9   r,   r{   r-   r   r
   r   r9   r{   r&   r*   s         r   !test_method_takes_not_enough_argsz2Test_verifyClass.test_method_takes_not_enough_args       ,,,,,,......HHHHHH	  	  	  	  	 y 	  	  	 
 
X			, 	, 	, 	, 	, 	, 	, 
		,
 	4-7	< 	< 	< 	< 	<r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )LTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrentc                      dS r?   r   argss    r   rA   zSTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrent.method   rB   r   NrC   r   r   r   r&   r      rs   r   r&   c                       e Zd Zd ZdS )KTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Currentc                     t                      r   rQ   r	   s    r   rA   zRTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Current.method   rS   r   NrC   r   r   r   r*   r      rT   r   r*   r   r   s         r   )test_method_doesnt_take_required_starargsz:Test_verifyClass.test_method_doesnt_take_required_starargs   r   r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )OTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrentc                      dS r?   r   )kws    r   rA   zVTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrent.method   rB   r   NrC   r   r   r   r&   r      rs   r   r&   c                       e Zd Zd ZdS )NTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Currentc                     t                      r   rQ   r	   s    r   rA   zUTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Current.method   rS   r   NrC   r   r   r   r*   r      rT   r   r*   r   r   s         r   ,test_method_doesnt_take_required_only_kwargsz=Test_verifyClass.test_method_doesnt_take_required_only_kwargs   r   r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )>Test_verifyClass.test_method_takes_extra_arg.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zETest_verifyClass.test_method_takes_extra_arg.<locals>.ICurrent.method   rB   r   NrC   r   r   r   r&   r      rs   r   r&   c                       e Zd Zd ZdS )=Test_verifyClass.test_method_takes_extra_arg.<locals>.Currentc                     t                      r   rQ   r
   rr   rw   s      r   rA   zDTest_verifyClass.test_method_takes_extra_arg.<locals>.Current.method   rS   r   NrC   r   r   r   r*   r      rT   r   r*   r   r   s         r   test_method_takes_extra_argz,Test_verifyClass.test_method_takes_extra_arg   r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )KTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zRTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrent.method   rB   r   NrC   r   r   r   r&   r      rs   r   r&   c                       e Zd ZddZdS )JTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.CurrentNc                     t                      r   rQ   r   s      r   rA   zQTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.Current.method   rS   r   r   rC   r   r   r   r*   r      s(        , , , , , ,r   r*   rU   rV   s        r   (test_method_takes_extra_arg_with_defaultz9Test_verifyClass.test_method_takes_extra_arg_with_default       ,,,,,,......	  	  	  	  	 y 	  	  	 
 
X			, 	, 	, 	, 	, 	, 	, 
		,
 	h(((((r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )ITest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zPTest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrent.method   rB   r   NrC   r   r   r   r&   r      rs   r   r&   c                       e Zd Zd ZdS )HTest_verifyClass.test_method_takes_only_positional_args.<locals>.Currentc                     t                      r   rQ   r
   r   s     r   rA   zOTest_verifyClass.test_method_takes_only_positional_args.<locals>.Current.method  rS   r   NrC   r   r   r   r*   r     rT   r   r*   rU   rV   s        r   &test_method_takes_only_positional_argsz7Test_verifyClass.test_method_takes_only_positional_args   r   r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )@Test_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zGTest_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrent.method  rB   r   NrC   r   r   r   r&   r     rs   r   r&   c                       e Zd Zd ZdS )?Test_verifyClass.test_method_takes_only_kwargs.<locals>.Currentc                     t                      r   rQ   r
   r   s     r   rA   zFTest_verifyClass.test_method_takes_only_kwargs.<locals>.Current.method  rS   r   NrC   r   r   r   r*   r     rT   r   r*   r   r   s         r   test_method_takes_only_kwargsz.Test_verifyClass.test_method_takes_only_kwargs	  r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )CTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zJTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrent.method"  rB   r   NrC   r   r   r   r&   r      rs   r   r&   c                       e Zd Zd ZdS )BTest_verifyClass.test_method_takes_extra_starargs.<locals>.Currentc                     t                      r   rQ   r
   rr   r   s      r   rA   zITest_verifyClass.test_method_takes_extra_starargs.<locals>.Current.method(  rS   r   NrC   r   r   r   r*   r   %  rT   r   r*   rU   rV   s        r    test_method_takes_extra_starargsz1Test_verifyClass.test_method_takes_extra_starargs  r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )NTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zUTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrent.method3  rB   r   NrC   r   r   r   r&   r   1  rs   r   r&   c                       e Zd Zd ZdS )MTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Currentc                     t                      r   rQ   )r
   rr   r   r   s       r   rA   zTTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Current.method9  rS   r   NrC   r   r   r   r*   r   6  rT   r   r*   rU   rV   s        r   +test_method_takes_extra_starargs_and_kwargsz<Test_verifyClass.test_method_takes_extra_starargs_and_kwargs-  r   r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )[Test_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrentc                     dS r?   r   rr   r   s     r   rA   zbTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrent.methodE  rB   r   NrC   r   r   r   r&   r   C  rs   r   r&   c                       e Zd Zd ZdS )ZTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Currentc                     t                      r   rQ   r
   rr   s     r   rA   zaTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Current.methodK  rS   r   NrC   r   r   r   r*   r   H  rT   r   r*   r   r   s         r   8test_method_doesnt_take_required_positional_and_starargszITest_verifyClass.test_method_doesnt_take_required_positional_and_starargs>  r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )UTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrentc                     dS r?   r   r   s     r   rA   z\Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrent.methodW  rB   r   NrC   r   r   r   r&   r   U  rs   r   r&   c                       e Zd Zd ZdS )TTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Currentc                     t                      r   rQ   r   s      r   rA   z[Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Current.method]  rS   r   NrC   r   r   r   r*   r   Z  rT   r   r*   rU   rV   s        r   2test_method_takes_required_positional_and_starargszCTest_verifyClass.test_method_takes_required_positional_and_starargsQ  r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )BTest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrentc                     dS r?   r   r   s     r   rA   zITest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrent.methodh  rB   r   NrC   r   r   r   r&   r   f  rs   r   r&   c                       e Zd Zd ZdS )ATest_verifyClass.test_method_takes_only_starargs.<locals>.Currentc                     t                      r   rQ   r   s     r   rA   zHTest_verifyClass.test_method_takes_only_starargs.<locals>.Current.methodn  rS   r   NrC   r   r   r   r*   r   k  rT   r   r*   rU   rV   s        r   test_method_takes_only_starargsz0Test_verifyClass.test_method_takes_only_starargsb  r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r8   c                       e Zd Zd ZdS )DTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrentc                      dS r?   r   r   s    r   rA   zKTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrent.methody  rB   r   NrC   r   r   r   r&   r   w  rs   r   r&   c                       e Zd Zd ZdS )CTest_verifyClass.test_method_takes_required_kwargs.<locals>.Currentc                     t                      r   rQ   r   s     r   rA   zJTest_verifyClass.test_method_takes_required_kwargs.<locals>.Current.method  rS   r   NrC   r   r   r   r*   r   |  rT   r   r*   rU   rV   s        r   !test_method_takes_required_kwargsz2Test_verifyClass.test_method_takes_required_kwargss  r   r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )VTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrentc                      dS r?   r   r   s    r   rA   z]Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrent.method  rB   r   NrC   r   r   r   r&   r     rs   r   r&   c                       e Zd Zd ZdS )UTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Currentc                     t                      r   rQ   r   s      r   rA   z\Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Current.method  rS   r   NrC   r   r   r   r*   r     rT   r   r*   r   r   s         r   3test_method_takes_positional_plus_required_starargszDTest_verifyClass.test_method_takes_positional_plus_required_starargs  r   r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )JTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrentc                      dS r?   r   r   s    r   rA   zQTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrent.method  rB   r   NrC   r   r   r   r&   r     rs   r   r&   c                       e Zd Zd ZdS )ITest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Currentc                     t                      r   rQ   r   s     r   rA   zPTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Current.method  rS   r   NrC   r   r   r   r*   r     rT   r   r*   r   r   s         r   'test_method_doesnt_take_required_kwargsz8Test_verifyClass.test_method_doesnt_take_required_kwargs  r   r   c                     ddl m ddl m} ddl m}  G fdd|          } ||           G d d                      }|                     ||           d S )	Nr   	Attributer   r8   c                   &    e Zd Z  d          ZdS )GTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.ICurrentThe foo AttributeNr#   r$   r%   attrr  s   r   r&   r            9011DDDr   r&   c                       e Zd Zd ZdS )FTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Currentc                     t                      r   rQ   r	   s    r   r  zKTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Current.attr  rS   r   Nr  r   r   r   r*   r    rT   r   r*   r+   r  r   r9   r   r
   r   r9   r&   r*   r  s        @r   $test_class_has_method_for_iface_attrz5Test_verifyClass.test_class_has_method_for_iface_attr  s    ,,,,,,,,,,,,......	2 	2 	2 	2 	2 	2 	2y 	2 	2 	2 
X			, 	, 	, 	, 	, 	, 	, 
		,
 	h(((((r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      }|                     || j        ||           d S )	Nr   r   r8   rz   c                       e Zd Zd ZdS )FTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrentc                      dS r?   r   r   r   r   rA   zMTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrent.method  rB   r   NrC   r   r   r   r&   r    rD   r   r&   c                       e Zd ZdZdS )ETest_verifyClass.test_class_has_nonmethod_for_method.<locals>.Current   NrC   r   r   r   r*   r    s        FFFr   r*   r   r   s         r   #test_class_has_nonmethod_for_methodz4Test_verifyClass.test_class_has_nonmethod_for_method  s    ,,,,,,......HHHHHH	  	  	  	  	 y 	  	  	  
X			 	 	 	 	 	 	 
		 	4-7	< 	< 	< 	< 	<r   c                     ddl m ddl m} ddl m}  G fdd|          } ||           G d d                      }|                     ||           d S )	Nr   r  r   r8   c                   &    e Zd Z  d          ZdS )ITest_verifyClass.test_class_has_attribute_for_attribute.<locals>.ICurrentr  Nr  r  s   r   r&   r    r	  r   r&   c                       e Zd ZdZdS )HTest_verifyClass.test_class_has_attribute_for_attribute.<locals>.Currentr  Nr  r   r   r   r*   r    s         DDDr   r*   r  r  s        @r   &test_class_has_attribute_for_attributez7Test_verifyClass.test_class_has_attribute_for_attribute  s    ,,,,,,,,,,,,......	2 	2 	2 	2 	2 	2 	2y 	2 	2 	2 
X			 	 	 	 	 	 	 
		 	h(((((r   c                     ddl m ddl m} ddl m}  G fdd|          } ||           G d d                      }|                     ||           d S )	Nr   r  r   r8   c                   &    e Zd Z  d          ZdS )LTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.ICurrentr  Nr  r  s   r   r&   r     r	  r   r&   c                       e Zd ZdS )KTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.CurrentNr"   r   r   r   r*   r"    rG   r   r*   r  r  s        @r   )test_class_misses_attribute_for_attributez:Test_verifyClass.test_class_misses_attribute_for_attribute  s    ,,,,,,,,,,,,......	2 	2 	2 	2 	2 	2 	2y 	2 	2 	2 
X			 	 	 	 	 	 	 
		 	h(((((r   c                     ddl m} ddl m} ddlm}  G d d|           G d d           G fd	d
|          } ||           G fdd                      }|                     ||           d S )Nr   r   r8   )Methodc                       e Zd Zd ZdS )ETest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethodc                     t                      r   rQ   r
   r   r   s      r   __call__zNTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethod.__call__  rS   r   Nr#   r$   r%   r*  r   r   r   QuasiMethodr'    #        , , , , ,r   r,  c                       e Zd Zd ZdS )GTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallablec                     t                      r   rQ   r)  s      r   r*  zPTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallable.__call__  rS   r   Nr+  r   r   r   QuasiCallabler/    r-  r   r1  c                   &    e Zd Z  d          ZdS )BTest_verifyClass.test_w_callable_non_func_method.<locals>.ICurrentzThis is callableNr  )r,  s   r   r&   r3    s        ;122DDDr   r&   c                   $    e Zd Z              ZdS )ATest_verifyClass.test_w_callable_non_func_method.<locals>.CurrentNr  )r1  s   r   r*   r5    s         =??DDDr   r*   )r+   r   r9   zope.interface.interfacer%  r   )r
   r   r9   r%  r&   r*   r1  r,  s         @@r   test_w_callable_non_func_methodz0Test_verifyClass.test_w_callable_non_func_method  s%   ,,,,,,......333333	, 	, 	, 	, 	,& 	, 	, 	,	, 	, 	, 	, 	, 	, 	, 	,	3 	3 	3 	3 	3 	3 	3y 	3 	3 	3 
X			# 	# 	# 	# 	# 	# 	# 	# 	# 
		# 	h(((((r   c                     ddl m} ddl m} d  G d d|          } ||           G fdd                      }|                     ||           d S )	Nr   r   r8   c                 (     t           fd          S )Nc                 .                         |           S r   )__get__)r
   funcs    r   <lambda>zMTest_verifyClass.test_w_decorated_method.<locals>.decorator.<locals>.<lambda>  s    d);); r   )property)r<  s   `r   	decoratorz;Test_verifyClass.test_w_decorated_method.<locals>.decorator  s    ;;;;<<<r   c                       e Zd Zd ZdS ):Test_verifyClass.test_w_decorated_method.<locals>.ICurrentc                     dS r?   r   rq   s    r   rA   zATest_verifyClass.test_w_decorated_method.<locals>.ICurrent.method  rB   r   NrC   r   r   r   r&   rA    rs   r   r&   c                   &    e Zd Z d             ZdS )9Test_verifyClass.test_w_decorated_method.<locals>.Currentc                     t                      r   rQ   r   s     r   rA   z@Test_verifyClass.test_w_decorated_method.<locals>.Current.method  s    )+++r   NrC   )r?  s   r   r*   rD    s0         , , Y, , ,r   r*   rU   )r
   r   r9   r&   r*   r?  s        @r   test_w_decorated_methodz(Test_verifyClass.test_w_decorated_method  s    ,,,,,,......	= 	= 	=	  	  	  	  	 y 	  	  	 
 
X			, 	, 	, 	, 	, 	, 	, 	, 	, 
		, 	h(((((r   c                 L    ddl m} |                     |t          d           d S )Nr   )IFullMappingT	tentative)zope.interface.common.mappingrH  r   dict)r
   rH  s     r   test_dict_IFullMappingz'Test_verifyClass.test_dict_IFullMapping  s4     	?>>>>>lDD99999r   c                 L    ddl m} |                     |t          d           d S )Nr   )	ISequenceTrI  )zope.interface.common.sequencerO  r   list)r
   rO  s     r   test_list_ISequencez$Test_verifyClass.test_list_ISequence  s2    <<<<<<i66666r   c                 L    ddl m} |                     |t          d           d S )Nr   )IReadSequenceTrI  )rP  rT  r   tuple)r
   rT  s     r   test_tuple_IReadSequencez)Test_verifyClass.test_tuple_IReadSequence#  s2    @@@@@@mUd;;;;;r   c                    ddl m} ddl m} ddlm} ddlm} ddlm}  G d d|          } G d	 d
          }|                     |          5 }|                     ||           d d d            n# 1 swxY w Y   |j	        }	| 
                    dt          |	j                             |                     |	j        d         |           |                     |	j        d         |           |                     |	j        d         |            |||           d |_        |                     |          5  |                     ||           d d d            d S # 1 swxY w Y   d S )Nr   r   r0   r:   r   )MultipleInvalidc                       e Zd Zd Zd ZdS )?Test_verifyClass.test_multiple_invalid.<locals>.ISeveralMethodsc                     dS )zMethod 1Nr   arg1s    r   meth1zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth10  rB   r   c                     dS )zMethod 2Nr   r\  s    r   meth2zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth22  rB   r   N)r#   r$   r%   r^  r`  r   r   r   ISeveralMethodsrZ  /  s2              r   ra  c                       e Zd ZdS )>Test_verifyClass.test_multiple_invalid.<locals>.SeveralMethodsNr"   r   r   r   SeveralMethodsrc  5  r'   r   rd     r     c                     dS )NHir   )r
   r]  s     r   r=  z8Test_verifyClass.test_multiple_invalid.<locals>.<lambda>D  s    $ r   )r+   r   r1   r,   r;   r   rX  r-   r   	exceptionassertEquallen
exceptionsassertIsInstancer^  )
r
   r   r1   r;   r   rX  ra  rd  excexs
             r   test_multiple_invalidz&Test_verifyClass.test_multiple_invalid(  sY   ,,,,,,222222BBBBBB>>>>>>======	 	 	 	 	i 	 	 		 	 	 	 	 	 	 	 // 	;3MM/>:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; ]C..///bmA.0@AAAbmA.0DEEEbmA.0DEEE 	88866344 	; 	;MM/>:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;s$   A22A69A68EE #E ))r#   r$   r%   r   r   classmethodr   r   r   r.   r6   rI   rW   rb   rl   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r#  r7  rF  rM  rR  rV  rp  r   r   r   r   r      sD       H( ( (   [  ' ' '

N 
N 
N) ) )< < < ) ) ) < < <&) ) )&) ) )$< < <&< < <&< < <&< < <&) ) )") ) )"< < <&) ) )") ) )"< < <&) ) )") ) )") ) )"< < <&< < <&) ) ) < < < ) ) )) ) )) ) ),) ) ),: : :7 7 7
< < <
; ; ; ; ;r   r   c                   B    e Zd Zed             Zd Zd Zd Zd Zd Z	dS )Test_verifyObjectc                     ddl m} |S )Nr   verifyObject)r   rv  )r   rv  s     r   r   zTest_verifyObject._get_FUTL  s    666666r   c                 l    t          |t          t          t                    f          r
 |            }|S r   )
isinstancetypeOldSkool)r
   targets     r   r   z.Test_verifyObject._adjust_object_before_verifyQ  s/    ftT(^^455 	VXXFr   c                     ddl m ddl m} ddl m} ddlm}  G fdd|          } ||           G d d	                      }|                     || j        ||           d S )
Nr   r  r   r8   r:   c                   &    e Zd Z  d          ZdS )MTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.ICurrentr  Nr  r  s   r   r&   r~  ]  r	  r   r&   c                       e Zd ZdS )LTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.CurrentNr"   r   r   r   r*   r  `  rG   r   r*   )r+   r  r   r9   r,   r;   r-   r   )r
   r   r9   r;   r&   r*   r  s         @r   r#  z;Test_verifyObject.test_class_misses_attribute_for_attributeV  s    ,,,,,,,,,,,,......BBBBBB	2 	2 	2 	2 	2 	2 	2y 	2 	2 	2 
X			 	 	 	 	 	 	 
		 	.-7	< 	< 	< 	< 	<r   c                 J    ddl m} ddlm} |                     ||           d S )Nr   dummy)IDummyModule)zope.interface.testsr  zope.interface.tests.idummyr  r   )r
   r  r  s      r   test_module_hitz!Test_verifyObject.test_module_hitg  s@    ......<<<<<<lE*****r   c                     ddl m} ddlm} ddlm}  G d d|          }|                     || j        ||           d S )Nr   r   r   r  c                       e Zd ZdS )8Test_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  s        r   test_module_missz"Test_verifyObject.test_module_missm  s    ,,,,,,>>>>>>......	 	 	 	 	9 	 	 	 	*-u	> 	> 	> 	> 	>r   c                     ddl m} ddl m} ddlm}  G d d|          } ||           G d d                      } |||           d S )	Nr   r   )providerru  c                       e Zd Zd ZdS )>Test_verifyObject.test_staticmethod_hit_on_class.<locals>.IFooc                     dS )zThe bar methodNr   rr   rw   s     r   barzBTest_verifyObject.test_staticmethod_hit_on_class.<locals>.IFoo.bar  rB   r   N)r#   r$   r%   r  r   r   r   IFoor  ~  s#        ! ! ! ! !r   r  c                   $    e Zd Zed             ZdS )=Test_verifyObject.test_staticmethod_hit_on_class.<locals>.Fooc                      t          d          )NzWe're never actually called)AssertionErrorr  s     r   r  zATest_verifyObject.test_staticmethod_hit_on_class.<locals>.Foo.bar  s    $%BCCCr   N)r#   r$   r%   staticmethodr  r   r   r   Foor    s4         D D \D D Dr   r  )r+   r   r  r   rv  )r
   r   r  rv  r  r  s         r   test_staticmethod_hit_on_classz0Test_verifyObject.test_staticmethod_hit_on_classy  s    ,,,,,,++++++666666	! 	! 	! 	! 	!9 	! 	! 	!
 
$	D 	D 	D 	D 	D 	D 	D 
	D 	T3r   N)
r#   r$   r%   rq  r   r   r#  r  r  r  r   r   r   rs  rs  J  sx          [  
< < <"+ + +
> 
> 
>         r   rs  c                       e Zd ZdS )rz  Nr"   r   r   r   rz  rz    s        Dr   rz  )__doc__unittestTestCaser   rs  rz  r   r   r   <module>r     s     
r; r; r; r; r;x( r; r; r;jB  B  B  B  B ( B  B  B J	 	 	 	 	 	 	 	 	 	r   