
    NgJ                     d    d Z ddlZ G d dej                        Z G d de      Z G d d      Zy)	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(y)&Test_verifyClassNc                 .    | j                         | _        y N)_get_FUTverifierselfs    [/var/www/djangounited/venv/lib/python3.12/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r   c                     |S r    )r
   xs     r   <lambda>zTest_verifyClass.<lambda>    s    1 r   c                 H     | j                   || j                  |      fi |S r   )r   _adjust_object_before_verify)r
   ifaceklasskwargss       r   _callFUTzTest_verifyClass._callFUT"   s-    t}}U!>>uE'%' 	'r   c                     ddl m} ddlm}  G d d|      } G d dt              }| j                  || j                  ||       y )Nr   	InterfaceDoesNotImplementc                       e Zd Zy)>Test_verifyClass.test_class_doesnt_implement.<locals>.ICurrentN__name__
__module____qualname__r   r   r   ICurrentr"   +       r   r'   c                       e Zd Zy)=Test_verifyClass.test_class_doesnt_implement.<locals>.CurrentNr#   r   r   r   Currentr*   .   r(   r   r+   )zope.interfacer   zope.interface.exceptionsr    objectassertRaisesr   )r
   r   r    r'   r+   s        r   test_class_doesnt_implementz,Test_verifyClass.test_class_doesnt_implement'   s;    ,>	y 		f 	 	*DMM8WMr   c                     ddl m} ddl m}  G d d|      } G d dt              } |||       | j	                  ||       y )Nr   r   classImplementsc                       e Zd Zy)XTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.ICurrentNr#   r   r   r   r'   r5   7   r(   r   r'   c                       e Zd Zy)WTest_verifyClass.test_class_doesnt_implement_but_classImplements_later.<locals>.CurrentNr#   r   r   r   r+   r7   :   r(   r   r+   )r,   r   r3   r.   r   )r
   r   r3   r'   r+   s        r   5test_class_doesnt_implement_but_classImplements_laterzFTest_verifyClass.test_class_doesnt_implement_but_classImplements_later3   s:    ,2	y 		f 	 	*h(r   c                     ddl m} ddl m} ddlm}  G d d|      } ||       G d dt
                     }| j                  || j                  ||       y )	Nr   r   implementerBrokenImplementationc                       e Zd Zd Zy)PTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrentc                       y r   r   r   r   r   methodzWTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.ICurrent.methodG       r   Nr$   r%   r&   rA   r   r   r   r'   r?   F       r   r'   c                       e Zd Zy)OTest_verifyClass.test_class_doesnt_have_required_method_simple.<locals>.CurrentNr#   r   r   r   r+   rF   J       r   r+   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_simpleA   sU    ,.B	y 	 
X		f 	 
	 	.--7	<r   c                     ddl m} ddl m}  G d d|      } ||       G d dt                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)HTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrentc                       y r   r   r   r   r   rA   zOTest_verifyClass.test_class_has_required_method_simple.<locals>.ICurrent.methodV   rB   r   NrC   r   r   r   r'   rL   U   rD   r   r'   c                       e Zd Zd Zy)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   Y       ,r   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_simpleQ   sD    ,.	y 	 
X		,f 	, 
	,
 	h(r   c                     ddl m} ddl m} ddlm}  G d d|      } G d d|      } ||       G d	 d
t
                     }| j                  || j                  ||       y )Nr   r   r:   r<   c                       e Zd Zd Zy)NTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBasec                       y r   r   r   r   r   rA   zUTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IBase.methodg   rB   r   NrC   r   r   r   IBaserZ   f   rD   r   r\   c                       e Zd Zy)QTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.IDerivedNr#   r   r   r   IDerivedr^   j   r(   r   r_   c                       e Zd Zy)PTest_verifyClass.test_class_doesnt_have_required_method_derived.<locals>.CurrentNr#   r   r   r   r+   ra   m   rG   r   r+   rH   )r
   r   r;   r=   r\   r_   r+   s          r   .test_class_doesnt_have_required_method_derivedz?Test_verifyClass.test_class_doesnt_have_required_method_deriveda   sa    ,.B	I 		u 	 
X		f 	 
	 	.--7	<r   c                     ddl m} ddl m}  G d d|      } G d d|      } ||       G d d	t                     }| j	                  ||       y )
Nr   r   r:   c                       e Zd Zd Zy)FTest_verifyClass.test_class_has_required_method_derived.<locals>.IBasec                       y r   r   r   r   r   rA   zMTest_verifyClass.test_class_has_required_method_derived.<locals>.IBase.methody   rB   r   NrC   r   r   r   r\   re   x   rD   r   r\   c                       e Zd Zy)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y)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   r;   r\   r_   r+   s         r   &test_class_has_required_method_derivedz7Test_verifyClass.test_class_has_required_method_derivedt   sP    ,.	I 		u 	 
X		,f 	, 
	,
 	h(r   c                     ddl m} ddl m}  G d d|      } ||       G d dt                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)KTest_verifyClass.test_method_takes_wrong_arg_names_but_OK.<locals>.ICurrentc                      y 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y)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   sD    ,.	y 	
 
X		,f 	, 
	,
 	h(r   c                     ddl m} ddl m} ddlm}  G d d|      } ||       G d dt
                     }| j                  || j                  ||       y )	Nr   r   r:   BrokenMethodImplementationc                       e Zd Zd Zy)DTest_verifyClass.test_method_takes_not_enough_args.<locals>.ICurrentc                      y 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y)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   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   U    ,.H	y 	
 
X		,f 	, 
	,
 	4--7	<r   c                     ddl m} ddl m} ddlm}  G d d|      } ||       G d dt
                     }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)LTest_verifyClass.test_method_doesnt_take_required_starargs.<locals>.ICurrentc                       y 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y)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t
                     }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)OTest_verifyClass.test_method_doesnt_take_required_only_kwargs.<locals>.ICurrentc                       y 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y)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t
                     }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)>Test_verifyClass.test_method_takes_extra_arg.<locals>.ICurrentc                      y 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y)=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t                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)KTest_verifyClass.test_method_takes_extra_arg_with_default.<locals>.ICurrentc                      y 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y)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   D    ,.	y 	
 
X		,f 	, 
	,
 	h(r   c                     ddl m} ddl m}  G d d|      } ||       G d dt                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)ITest_verifyClass.test_method_takes_only_positional_args.<locals>.ICurrentc                      y 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y)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t
                     }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)@Test_verifyClass.test_method_takes_only_kwargs.<locals>.ICurrentc                      y 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y)?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t                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)CTest_verifyClass.test_method_takes_extra_starargs.<locals>.ICurrentc                      y 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y)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t                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)NTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrentc                      y r   r   rq   s    r   rA   zUTest_verifyClass.test_method_takes_extra_starargs_and_kwargs.<locals>.ICurrent.method1  rB   r   NrC   r   r   r   r'   r   /  rs   r   r'   c                       e Zd Zd Zy)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.method7  rS   r   NrC   r   r   r   r+   r   4  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t
                     }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)[Test_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrentc                      y r   r   rr   r   s     r   rA   zbTest_verifyClass.test_method_doesnt_take_required_positional_and_starargs.<locals>.ICurrent.methodC  rB   r   NrC   r   r   r   r'   r   A  rs   r   r'   c                       e Zd Zd Zy)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.methodI  rS   r   NrC   r   r   r   r+   r   F  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t                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)UTest_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrentc                      y r   r   r   s     r   rA   z\Test_verifyClass.test_method_takes_required_positional_and_starargs.<locals>.ICurrent.methodU  rB   r   NrC   r   r   r   r'   r   S  rs   r   r'   c                       e Zd Zd Zy)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   X  rT   r   r+   rU   rV   s        r   2test_method_takes_required_positional_and_starargszCTest_verifyClass.test_method_takes_required_positional_and_starargsO  r   r   c                     ddl m} ddl m}  G d d|      } ||       G d dt                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)BTest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrentc                      y r   r   r   s     r   rA   zITest_verifyClass.test_method_takes_only_starargs.<locals>.ICurrent.methodf  rB   r   NrC   r   r   r   r'   r   d  rs   r   r'   c                       e Zd Zd Zy)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.methodl  rS   r   NrC   r   r   r   r+   r   i  rT   r   r+   rU   rV   s        r   test_method_takes_only_starargsz0Test_verifyClass.test_method_takes_only_starargs`  r   r   c                     ddl m} ddl m}  G d d|      } ||       G d dt                     }| j	                  ||       y )Nr   r   r:   c                       e Zd Zd Zy)DTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrentc                       y r   r   r   s    r   rA   zKTest_verifyClass.test_method_takes_required_kwargs.<locals>.ICurrent.methodw  rB   r   NrC   r   r   r   r'   r   u  rs   r   r'   c                       e Zd Zd Zy)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   z  rT   r   r+   rU   rV   s        r   !test_method_takes_required_kwargsz2Test_verifyClass.test_method_takes_required_kwargsq  r   r   c                     ddl m} ddl m} ddlm}  G d d|      } ||       G d dt
                     }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)VTest_verifyClass.test_method_takes_positional_plus_required_starargs.<locals>.ICurrentc                       y 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y)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t
                     }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)JTest_verifyClass.test_method_doesnt_take_required_kwargs.<locals>.ICurrentc                       y 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y)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             }| j	                  ||       y )	Nr   	Attributer   r:   c                        e Zd Z W  d      Zy)GTest_verifyClass.test_class_has_method_for_iface_attr.<locals>.ICurrentThe foo AttributeNr$   r%   r&   attrr  s   r   r'   r        01Dr   r'   c                       e Zd Zd Zy)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   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  sF    ,,.	2y 	2 
X		, 	, 
	,
 	h(r   c                     ddl m} ddl m} ddlm}  G d d|      } ||       G d d             }| j                  || j                  ||       y )	Nr   r   r:   rz   c                       e Zd Zd Zy)FTest_verifyClass.test_class_has_nonmethod_for_method.<locals>.ICurrentc                       y 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y)ETest_verifyClass.test_class_has_nonmethod_for_method.<locals>.Current   NrC   r   r   r   r+   r    s    Fr   r+   )r,   r   r;   r-   r{   r/   r   r   s         r   #test_class_has_nonmethod_for_methodz4Test_verifyClass.test_class_has_nonmethod_for_method  sS    ,.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             }| j	                  ||       y )	Nr   r  r   r:   c                        e Zd Z W  d      Zy)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y)HTest_verifyClass.test_class_has_attribute_for_attribute.<locals>.Currentr  Nr  r   r   r   r+   r    s	     Dr   r+   r  r  s        @r   &test_class_has_attribute_for_attributez7Test_verifyClass.test_class_has_attribute_for_attribute  sF    ,,.	2y 	2 
X		 	 
	 	h(r   c                     ddl m ddl m} ddl m}  G fdd|      } ||       G d d             }| j	                  ||       y )	Nr   r  r   r:   c                        e Zd Z W  d      Zy)LTest_verifyClass.test_class_misses_attribute_for_attribute.<locals>.ICurrentr  Nr  r  s   r   r'   r     r	  r   r'   c                       e Zd Zy)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  sF    ,,.	2y 	2 
X		 	 
	 	h(r   c                     ddl m} ddlm} ddlm}  G d d|       G d dt
               G fd	d
|      } ||       G fdd             }| j                  ||       y )Nr   )Methodr   r:   c                       e Zd Zd Zy)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y)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 W  d      Zy)BTest_verifyClass.test_w_callable_non_func_method.<locals>.ICurrentzThis is callableNr  )r,  s   r   r'   r3    s    12Dr   r'   c                       e Zd Z W         Zy)ATest_verifyClass.test_w_callable_non_func_method.<locals>.CurrentNr  )r1  s   r   r+   r5    s
     ?Dr   r+   )zope.interface.interfacer%  r,   r   r;   r.   r   )r
   r%  r   r;   r'   r+   r1  r,  s         @@r   test_w_callable_non_func_methodz0Test_verifyClass.test_w_callable_non_func_method  s^    3,.	,& 	,	,F 	,	3y 	3 
X		# 	# 
	# 	h(r   c                     ddl m} ddl m} d  G d d|      } ||       G fddt                     }| j	                  ||       y )	Nr   r   r:   c                       t         fd      S )Nc                 &    j                  |       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y):Test_verifyClass.test_w_decorated_method.<locals>.ICurrentc                      y r   r   rq   s    r   rA   zATest_verifyClass.test_w_decorated_method.<locals>.ICurrent.method	  rB   r   NrC   r   r   r   r'   r@    rs   r   r'   c                        e Zd ZW  d        Zy)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+   rC    s     , ,r   r+   rU   )r
   r   r;   r'   r+   r>  s        @r   test_w_decorated_methodz(Test_verifyClass.test_w_decorated_method  sJ    ,.	=	y 	
 
X		,f 	, 
	, 	h(r   c                 @    ddl m} | j                  |t        d       y )Nr   )IFullMappingT	tentative)zope.interface.common.mappingrG  r   dict)r
   rG  s     r   test_dict_IFullMappingz'Test_verifyClass.test_dict_IFullMapping  s     	?lDD9r   c                 @    ddl m} | j                  |t        d       y )Nr   )	ISequenceTrH  )zope.interface.common.sequencerN  r   list)r
   rN  s     r   test_list_ISequencez$Test_verifyClass.test_list_ISequence  s    <i6r   c                 @    ddl m} | j                  |t        d       y )Nr   )IReadSequenceTrH  )rO  rS  r   tuple)r
   rS  s     r   test_tuple_IReadSequencez)Test_verifyClass.test_tuple_IReadSequence$  s    @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
t              }| j                  |      5 }| j                  ||       d d d        j                  }	| j                  dt        |	j                               | j                  |	j                  d   |       | j                  |	j                  d   |       | j                  |	j                  d   |        |||       d |_        | j                  |      5  | j                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   )MultipleInvalidr   r<   r   r2   c                       e Zd Zd Zd Zy)?Test_verifyClass.test_multiple_invalid.<locals>.ISeveralMethodsc                      y)zMethod 1Nr   arg1s    r   meth1zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth12      r   c                      y)zMethod 2Nr   r[  s    r   meth2zETest_verifyClass.test_multiple_invalid.<locals>.ISeveralMethods.meth24  r^  r   N)r$   r%   r&   r]  r`  r   r   r   ISeveralMethodsrY  1  s    r   ra  c                       e Zd Zy)>Test_verifyClass.test_multiple_invalid.<locals>.SeveralMethodsNr#   r   r   r   SeveralMethodsrc  7  r(   r   rd     r     c                      y)NHir   )r
   r\  s     r   r   z8Test_verifyClass.test_multiple_invalid.<locals>.<lambda>F  r^  r   )r-   rW  r    r=   r,   r   r3   r.   r/   r   	exceptionassertEquallen
exceptionsassertIsInstancer]  )
r
   rW  r    r=   r   r3   ra  rd  excexs
             r   test_multiple_invalidz&Test_verifyClass.test_multiple_invalid*  s   =>B,2	i 		V 	 / 	;3MM/>:	; ]]C./bmmA.0@AbmmA.0DEbmmA.0DE 	8634 	;MM/>:	; 	;	; 	;	; 	;s   
D1D=1D:=E))r$   r%   r&   r   r   classmethodr   r   r   r0   r8   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  rE  rL  rQ  rU  rp  r   r   r   r   r      s    H(   $5 '

N)< ) <&)&)$<&<&<&<&)")"<&)")"<&)")")"<(<() < ))).),:7
<;r   r   c                   :    e Zd Zed        Zd Zd Zd Zd Zd Z	y)Test_verifyObjectc                     ddl m} |S )Nr   verifyObject)r   rv  )r   rv  s     r   r   zTest_verifyObject._get_FUTM  s    6r   c                 R    t        |t        t        t              f      r |       }|S r   )
isinstancetypeOldSkool)r
   targets     r   r   z.Test_verifyObject._adjust_object_before_verifyR  s!    ftT(^45XF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                  || j                  ||       y )
Nr   r  r   r:   r<   c                        e Zd Z W  d      Zy)MTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.ICurrentr  Nr  r  s   r   r'   r~  ^  r	  r   r'   c                       e Zd Zy)LTest_verifyObject.test_class_misses_attribute_for_attribute.<locals>.CurrentNr#   r   r   r   r+   r  a  rG   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_attributeW  sW    ,,.B	2y 	2 
X		 	 
	 	.--7	<r   c                 @    ddl m} ddlm} | j	                  ||       y )Nr   )IDummyModuledummy)zope.interface.tests.idummyr  zope.interface.testsr  r   )r
   r  r  s      r   test_module_hitz!Test_verifyObject.test_module_hith  s    <.lE*r   c                 z    ddl m} ddlm} ddlm}  G d d|      }| j                  || j                  ||       y )Nr   r   r  r   c                       e Zd Zy)8Test_verifyObject.test_module_miss.<locals>.IDummyModuleNr#   r   r   r   r  r  t  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_missn  s5    ,.>	9 	 	*--u	>r   c                     ddl m} ddl m} ddlm}  G d d|      } ||       G d dt
                     } |||       y )	Nr   r   )providerru  c                       e Zd Zd Zy)>Test_verifyObject.test_staticmethod_hit_on_class.<locals>.IFooc                      y)zThe bar methodNr   rr   rw   s     r   barzBTest_verifyObject.test_staticmethod_hit_on_class.<locals>.IFoo.bar  r^  r   N)r$   r%   r&   r  r   r   r   IFoor    s    !r   r  c                       e Zd Zed        Zy)=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Cr   N)r$   r%   r&   staticmethodr  r   r   r   Foor    s     D Dr   r  )r,   r   r  r   rv  r.   )r
   r   r  rv  r  r  s         r   test_staticmethod_hit_on_classz0Test_verifyObject.test_staticmethod_hit_on_classz  sE    ,+6	!9 	!
 
$	D& 	D 
	D 	T3r   N)
r$   r%   r&   rq  r   r   r#  r  r  r  r   r   r   rs  rs  K  s-     
<"+
> r   rs  c                       e Zd Zy)rz  Nr#   r   r   r   rz  rz    s    r   rz  )__doc__unittestTestCaser   rs  rz  r   r   r   <module>r     s<    u;x(( u;nB ( B H	 	r   