
    /JfJ                     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    c/home/alex/cs2snipeproduction/venv/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   <lambda>zTest_verifyClass.<lambda>!   s    1 r   c                 F     | j         ||                     |          fi |S r   )r   _adjust_object_before_verify)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*   /   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'   r4   8   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+   r6   ;   r(   r   r+   )r,   r   r2   r   )r
   r   r2   r'   r+   s        r   5test_class_doesnt_implement_but_classImplements_laterzFTest_verifyClass.test_class_doesnt_implement_but_classImplements_later4   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.methodH         r   Nr$   r%   r&   rB   r   r   r   r'   r>   G   #                 r   r'   c                       e Zd ZdS )OTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.CurrentNr#   r   r   r   r+   rG   K           Dr   r+   r,   r   r:   r-   r<   r.   r   )r
   r   r:   r<   r'   r+   s         r   -test_class_doesnt_have_required_method_simplez>Test_verifyClass.test_class_doesnt_have_required_method_simpleB   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   r9   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   rB   zOTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrent.methodW   rC   r   NrD   r   r   r   r'   rM   V   rE   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   rB   zNTest_verifyClass.test_class_has_required_method_simple.<locals>.Current.method]       )+++r   NrD   r   r   r   r+   rP   Z   #        , , , , ,r   r+   r,   r   r:   r   r
   r   r:   r'   r+   s        r   %test_class_has_required_method_simplez6Test_verifyClass.test_class_has_required_method_simpleR   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   r9   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   rB   zUTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBase.methodh   rC   r   NrD   r   r   r   IBaser[   g   rE   r   r]   c                       e Zd ZdS )QTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IDerivedNr#   r   r   r   IDerivedr_   k   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+   rb   n   rH   r   r+   rI   )r
   r   r:   r<   r]   r`   r+   s          r   .test_class_doesnt_have_required_method_derivedz?Test_verifyClass.test_class_doesnt_have_required_method_derivedb   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   r9   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   rB   zMTest_verifyClass.test_class_has_required_method_derived.<locals>.IBase.methodz   rC   r   NrD   r   r   r   r]   rf   y   rE   r   r]   c                       e Zd ZdS )ITest_verifyClass.test_class_has_required_method_derived.<locals>.IDerivedNr#   r   r   r   r`   ri   }   r(   r   r`   c                       e Zd Zd ZdS )HTest_verifyClass.test_class_has_required_method_derived.<locals>.Currentc                     t                      r   rR   r	   s    r   rB   zOTest_verifyClass.test_class_has_required_method_derived.<locals>.Current.method   rT   r   NrD   r   r   r   r+   rk      rU   r   r+   rV   )r
   r   r:   r]   r`   r+   s         r   &test_class_has_required_method_derivedz7Test_verifyClass.test_class_has_required_method_derivedu   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   r9   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   rB   zRTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrent.method   rC   r   NrD   r   r   r   r'   rp      #                 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   rR   )r
   bs     r   rB   zQTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.Current.method   rT   r   NrD   r   r   r   r+   rv      rU   r   r+   rV   rW   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   r9   BrokenMethodImplementationc                       e Zd Zd ZdS )DTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrentc                     dS r@   r   rr   s    r   rB   zKTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrent.method   rC   r   NrD   r   r   r   r'   r~      rt   r   r'   c                       e Zd Zd ZdS )CTest_verifyClass.test_method_takes_not_enough_args.<locals>.Currentc                     t                      r   rR   r	   s    r   rB   zJTest_verifyClass.test_method_takes_not_enough_args.<locals>.Current.method   rT   r   NrD   r   r   r   r+   r      rU   r   r+   r,   r   r:   r-   r|   r.   r   r
   r   r:   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   r9   r{   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   rB   zSTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrent.method   rC   r   NrD   r   r   r   r'   r      rt   r   r'   c                       e Zd Zd ZdS )KTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Currentc                     t                      r   rR   r	   s    r   rB   zRTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.Current.method   rT   r   NrD   r   r   r   r+   r      rU   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   r9   r{   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   rB   zVTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrent.method   rC   r   NrD   r   r   r   r'   r      rt   r   r'   c                       e Zd Zd ZdS )NTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Currentc                     t                      r   rR   r	   s    r   rB   zUTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.Current.method   rT   r   NrD   r   r   r   r+   r      rU   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   r9   r{   c                       e Zd Zd ZdS )>Test_verifyClass.test_method_takes_extra_arg.<locals>.ICurrentc                     dS r@   r   rr   s    r   rB   zETest_verifyClass.test_method_takes_extra_arg.<locals>.ICurrent.method   rC   r   NrD   r   r   r   r'   r      rt   r   r'   c                       e Zd Zd ZdS )=Test_verifyClass.test_method_takes_extra_arg.<locals>.Currentc                     t                      r   rR   r
   rs   rx   s      r   rB   zDTest_verifyClass.test_method_takes_extra_arg.<locals>.Current.method   rT   r   NrD   r   r   r   r+   r      rU   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   r9   c                       e Zd Zd ZdS )KTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrentc                     dS r@   r   rr   s    r   rB   zRTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrent.method   rC   r   NrD   r   r   r   r'   r      rt   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   rR   r   s      r   rB   zQTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.Current.method   rT   r   r   rD   r   r   r   r+   r      s(        , , , , , ,r   r+   rV   rW   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   r9   c                       e Zd Zd ZdS )ITest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrentc                     dS r@   r   rr   s    r   rB   zPTest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrent.method   rC   r   NrD   r   r   r   r'   r      rt   r   r'   c                       e Zd Zd ZdS )HTest_verifyClass.test_method_takes_only_positional_args.<locals>.Currentc                     t                      r   rR   r
   r   s     r   rB   zOTest_verifyClass.test_method_takes_only_positional_args.<locals>.Current.method  rT   r   NrD   r   r   r   r+   r      rU   r   r+   rV   rW   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   r9   r{   c                       e Zd Zd ZdS )@Test_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrentc                     dS r@   r   rr   s    r   rB   zGTest_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrent.method  rC   r   NrD   r   r   r   r'   r     rt   r   r'   c                       e Zd Zd ZdS )?Test_verifyClass.test_method_takes_only_kwargs.<locals>.Currentc                     t                      r   rR   r
   r   s     r   rB   zFTest_verifyClass.test_method_takes_only_kwargs.<locals>.Current.method  rT   r   NrD   r   r   r   r+   r     rU   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   r9   c                       e Zd Zd ZdS )CTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrentc                     dS r@   r   rr   s    r   rB   zJTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrent.method!  rC   r   NrD   r   r   r   r'   r     rt   r   r'   c                       e Zd Zd ZdS )BTest_verifyClass.test_method_takes_extra_starargs.<locals>.Currentc                     t                      r   rR   r
   rs   r   s      r   rB   zITest_verifyClass.test_method_takes_extra_starargs.<locals>.Current.method'  rT   r   NrD   r   r   r   r+   r   $  rU   r   r+   rV   rW   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   r9   c                       e Zd Zd ZdS )NTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrentc                     dS r@   r   rr   s    r   rB   zUTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrent.method2  rC   r   NrD   r   r   r   r'   r   0  rt   r   r'   c                       e Zd Zd ZdS )MTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Currentc                     t                      r   rR   )r
   rs   r   r   s       r   rB   zTTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.Current.method8  rT   r   NrD   r   r   r   r+   r   5  rU   r   r+   rV   rW   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   r9   r{   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   rs   r   s     r   rB   zbTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrent.methodD  rC   r   NrD   r   r   r   r'   r   B  rt   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   rR   r
   rs   s     r   rB   zaTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.Current.methodJ  rT   r   NrD   r   r   r   r+   r   G  rU   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   r9   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   rB   z\Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrent.methodV  rC   r   NrD   r   r   r   r'   r   T  rt   r   r'   c                       e Zd Zd ZdS )TTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Currentc                     t                      r   rR   r   s      r   rB   z[Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.Current.method\  rT   r   NrD   r   r   r   r+   r   Y  rU   r   r+   rV   rW   s        r   2test_method_takes_required_positional_and_starargszCTest_verifyClass.test_method_takes_required_positional_and_starargsP  r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r9   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   rB   zITest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrent.methodg  rC   r   NrD   r   r   r   r'   r   e  rt   r   r'   c                       e Zd Zd ZdS )ATest_verifyClass.test_method_takes_only_starargs.<locals>.Currentc                     t                      r   rR   r   s     r   rB   zHTest_verifyClass.test_method_takes_only_starargs.<locals>.Current.methodm  rT   r   NrD   r   r   r   r+   r   j  rU   r   r+   rV   rW   s        r   test_method_takes_only_starargsz0Test_verifyClass.test_method_takes_only_starargsa  r   r   c                     ddl m} ddl m}  G d d|          } ||           G d d                      }|                     ||           d S )Nr   r   r9   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   rB   zKTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrent.methodx  rC   r   NrD   r   r   r   r'   r   v  rt   r   r'   c                       e Zd Zd ZdS )CTest_verifyClass.test_method_takes_required_kwargs.<locals>.Currentc                     t                      r   rR   r   s     r   rB   zJTest_verifyClass.test_method_takes_required_kwargs.<locals>.Current.method~  rT   r   NrD   r   r   r   r+   r   {  rU   r   r+   rV   rW   s        r   !test_method_takes_required_kwargsz2Test_verifyClass.test_method_takes_required_kwargsr  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   r9   r{   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   rB   z]Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrent.method  rC   r   NrD   r   r   r   r'   r     rt   r   r'   c                       e Zd Zd ZdS )UTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Currentc                     t                      r   rR   r   s      r   rB   z\Test_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.Current.method  rT   r   NrD   r   r   r   r+   r     rU   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   r9   r{   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   rB   zQTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrent.method  rC   r   NrD   r   r   r   r'   r     rt   r   r'   c                       e Zd Zd ZdS )ITest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Currentc                     t                      r   rR   r   s     r   rB   zPTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.Current.method  rT   r   NrD   r   r   r   r+   r     rU   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   r9   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   rR   r	   s    r   r	  zKTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.Current.attr  rT   r   Nr  r   r   r   r+   r    rU   r   r+   r,   r  r   r:   r   r
   r   r:   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   r9   r{   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   rB   zMTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrent.method  rC   r   NrD   r   r   r   r'   r    rE   r   r'   c                       e Zd ZdZdS )ETest_verifyClass.test_class_has_nonmethod_for_method.<locals>.Current   NrD   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   r9   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   r9   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#    rH   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   r9   )Methodc                       e Zd Zd ZdS )ETest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethodc                     t                      r   rR   r
   r   r   s      r   __call__zNTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiMethod.__call__  rT   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   rR   r*  s      r   r+  zPTest_verifyClass.test_w_callable_non_func_method.<locals>.QuasiCallable.__call__  rT   r   Nr,  r   r   r   QuasiCallabler0    r.  r   r2  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'   r4    s        ;122DDDr   r'   c                   $    e Zd Z              ZdS )ATest_verifyClass.test_w_callable_non_func_method.<locals>.CurrentNr  )r2  s   r   r+   r6    s         =??DDDr   r+   )r,   r   r:   zope.interface.interfacer&  r   )r
   r   r:   r&  r'   r+   r2  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   r9   c                 (     t           fd          S )Nc                 .                         |           S r   )__get__)r
   funcs    r   r   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   rr   s    r   rB   zATest_verifyClass.test_w_decorated_method.<locals>.ICurrent.method
  rC   r   NrD   r   r   r   r'   rA    rt   r   r'   c                   &    e Zd Z d             ZdS )9Test_verifyClass.test_w_decorated_method.<locals>.Currentc                     t                      r   rR   r   s     r   rB   z@Test_verifyClass.test_w_decorated_method.<locals>.Current.method  s    )+++r   NrD   )r?  s   r   r+   rD    s0         , , Y, , ,r   r+   rV   )r
   r   r:   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   r1   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.meth13  rC   r   c                     dS )zMethod 2Nr   r\  s    r   meth2zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth25  rC   r   N)r$   r%   r&   r^  r`  r   r   r   ISeveralMethodsrZ  2  s2              r   ra  c                       e Zd ZdS )>Test_verifyClass.test_multiple_invalid.<locals>.SeveralMethodsNr#   r   r   r   SeveralMethodsrc  8  r(   r   rd     r     c                     dS )NHir   )r
   r]  s     r   r   z8Test_verifyClass.test_multiple_invalid.<locals>.<lambda>G  s    $ r   )r,   r   r2   r-   r<   r    rX  r.   r   	exceptionassertEquallen
exceptionsassertIsInstancer^  )
r
   r   r2   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/   r7   rJ   rX   rc   rm   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r$  r8  rF  rM  rR  rV  rp  r   r   r   r   r      s@       H( ( (   [ $5#4 ' ' '

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_FUTN  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_verifyS  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   r9   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  b  rH   r   r+   )r,   r  r   r:   r-   r<   r.   r   )r
   r   r:   r<   r'   r+   r  s         @r   r$  z;Test_verifyObject.test_class_misses_attribute_for_attributeX  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_hiti  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  u  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_misso  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   rs   rx   s     r   barzBTest_verifyObject.test_staticmethod_hit_on_class.<locals>.IFoo.bar  rC   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_class{  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  L  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     
u; u; u; u; u;x( u; u; u;nB  B  B  B  B ( B  B  B H	 	 	 	 	 	 	 	 	 	r   