
    Og                     F    d Z ddlZ G d dej                        Zd Zd Zy)zTests for z.c.factory
    Nc                   P    e Zd Zd ZddZd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zy)FactoryTestsc                     ddl m} |S )Nr   )Factory)zope.component.factoryr   )selfr   s     \/var/www/djangounited/venv/lib/python3.12/site-packages/zope/component/tests/test_factory.py_getTargetClasszFactoryTests._getTargetClass   s
    2    Nc                 F    |t         } | j                         |g|i |S N)_test_callabler
   )r   callableargskws       r	   _makeOnezFactoryTests._makeOne   s-    %H%t##%h<<<<r   c                 J    ddl m} ddlm}  ||| j	                                y )Nr   )verifyClassIFactory)zope.interface.verifyr   zope.component.interfacesr   r
   )r   r   r   s      r	   test_class_conforms_to_IFactoryz,FactoryTests.test_class_conforms_to_IFactory   s    56Hd2245r   c                 J    ddl m} ddlm}  ||| j	                                y )Nr   )verifyObjectr   )r   r   r   r   r   )r   r   r   s      r	   "test_instance_conforms_to_IFactoryz/FactoryTests.test_instance_conforms_to_IFactory#   s    66Xt}}/r   c                    | j                         }| j                  |j                  t               | j                  |j                  d       | j                  |j
                  d       | j                  |j                  d        y )N )r   assertEqual	_callabler   titledescription_interfacesr   factorys     r	   test_ctor_defaultszFactoryTests.test_ctor_defaults(   sc    --/**N;+,,b1,,d3r   c                     | j                  t        dd      }| j                  |j                  d       | j                  |j                  d       y )NTITLEDESCRIPTION)r   r   r   r!   r"   r$   s     r	   test_ctor_expclitzFactoryTests.test_ctor_expclit/   s>    --G0,,m<r   c                 n    g fd}| j                  |      } |        | j                  di fg       y )Nc                  ,    j                  | |f       y r   appendr   r   _calleds     r	   r    z5FactoryTests.test___call___no_args.<locals>._callable6       NND":&r    r   r   r   r    r%   r0   s      @r	   test___call___no_argsz"FactoryTests.test___call___no_args4   s6    	'--	*	B8*-r   c                 r    g fd}| j                  |      } |dd       | j                  di fg       y )Nc                  ,    j                  | |f       y r   r-   r/   s     r	   r    z=FactoryTests.test___call___positional_args.<locals>._callable>   r1   r   onetwo)r8   r9   r3   r4   s      @r	   test___call___positional_argsz*FactoryTests.test___call___positional_args<   s=    	'--	*uNB#7"89r   c                 v    g fd}| j                  |      } |d       | j                  dddifg       y )Nc                  ,    j                  | |f       y r   r-   r/   s     r	   r    z:FactoryTests.test___call___keyword_args.<locals>._callableF   r1   r   bar)foor2   r>   r3   r4   s      @r	   test___call___keyword_argsz'FactoryTests.test___call___keyword_argsD   s?    	'--	*EB#7"89r   c                 6   ddl m} ddl m}  G d d|      } G d d|      } G d d	|      } ||      d
        }| j                  |||f      }|j	                         }| j                  |j                  d       | j                  t        |      ||g       y )Nr   	Interfaceimplementerc                       e Zd Zy)6FactoryTests.test_getInterfaces_explicit.<locals>.IFooN__name__
__module____qualname__r2   r   r	   IFoorF   O       r   rK   c                       e Zd Zy)6FactoryTests.test_getInterfaces_explicit.<locals>.IBarNrG   r2   r   r	   IBarrN   Q   rL   r   rO   c                       e Zd Zy)6FactoryTests.test_getInterfaces_explicit.<locals>.IBazNrG   r2   r   r	   IBazrQ   S   rL   r   rR   c                       y r   r2   r2   r   r	   r    z;FactoryTests.test_getInterfaces_explicit.<locals>._callableU       r   )
interfacesr    )zope.interfacerB   rD   r   getInterfacesr   rH   list)	r   rB   rD   rK   rO   rR   r    r%   specs	            r	   test_getInterfaces_explicitz(FactoryTests.test_getInterfaces_explicitL   s    ,.	9 		9 		9 		T		 
	--	tTl-C$$&4ddD\2r   c                     ddl m} ddl m}  G d d|      } ||      d        }| j                  |      }|j	                         }| j                  t        |      |g       y )Nr   rA   rC   c                       e Zd Zy)6FactoryTests.test_getInterfaces_implicit.<locals>.IBazNrG   r2   r   r	   rR   r]   `   rL   r   rR   c                       y r   r2   r2   r   r	   r    z;FactoryTests.test_getInterfaces_implicit.<locals>._callableb   rT   r   )rV   rB   rD   r   rW   r   rX   )r   rB   rD   rR   r    r%   rY   s          r	   test_getInterfaces_implicitz(FactoryTests.test_getInterfaces_implicit]   s]    ,.	9 		T		 
	--	*$$&ddV,r   r   )rH   rI   rJ   r
   r   r   r   r&   r*   r5   r:   r?   rZ   r_   r2   r   r	   r   r      s9    =
6
0
4=
.::3"
-r   r   c                       y r   r2   )r   r   s     r	   r   r   i   s    r   c                  \    t        j                  t        j                  t              f      S r   )unittest	TestSuite	makeSuiter   r2   r   r	   
test_suitere   l   s(    <(  r   )__doc__rb   TestCaser   r   re   r2   r   r	   <module>rh      s,    T-8$$ T-l	r   