Warning: chmod(): No such file or directory in /home/tuempresavirtual.cl/public_html/wp-content/plugins/appointment-hour-booking/app-booking-plugin.php on line 3
403WebShell
403Webshell
Server IP : 186.64.123.29  /  Your IP : 216.73.217.94
Web Server : LiteSpeed
System : Linux house.hostinglat.cl 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64
User : tuemp9827 ( 1016)
PHP Version : 8.1.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/zope/interface/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/zope/interface/tests/__pycache__/test_registry.cpython-310.pyc
o

$
x`��@s$dZddlZddlmZddlmZddlmZGdd�dej�Z	Gdd	�d	e	�Z
Gd
d�dej�ZGdd
�d
ej�ZGdd�dej�Z
Gdd�dej�ZGdd�de�ZGdd�de�ZGdd�dee�ZGdd�dee�ZGdd�dej�ZGdd�de�ZGdd�de�ZGd d!�d!e�ZdS)"zComponent Registry Tests�N��	Interface)�VerifyingAdapterRegistry��
Componentscs�eZdZdd�Zd�dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dBdC�Z#dDdE�Z$dFdG�Z%dHdI�Z&dJdK�Z'dLdM�Z(dNdO�Z)dPdQ�Z*dRdS�Z+dTdU�Z,dVdW�Z-dXdY�Z.dZd[�Z/d\d]�Z0d^d_�Z1d`da�Z2dbdc�Z3ddde�Z4dfdg�Z5dhdi�Z6djdk�Z7dldm�Z8dndo�Z9dpdq�Z:drds�Z;dtdu�Z<dvdw�Z=dxdy�Z>dzd{�Z?d|d}�Z@d~d�ZAd�d��ZBd�d��ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZG�fd�d��ZH�fd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZO�fd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d��Z`d�d��Zad�d��Zbd�dÄZcd�dńZdd�dDŽZed�dɄZfd�d˄Zgd�d̈́Zhd�dτZid�dфZjd�dӄZkd�dՄZld�dׄZmd�dلZnd�dۄZod�d݄Zpd�d߄Zqd�d�d�Zrd�d�Zsd�d�Zt�ZuS)��ComponentsTestscC�tS�Nr��self�r�D/usr/lib/python3/dist-packages/zope/interface/tests/test_registry.py�_getTargetClass�zComponentsTests._getTargetClass�testcOs|��|g|�Ri|��Sr	�r)r�name�args�kwrrr
�_makeOneszComponentsTests._makeOnecs0ddlm}g��fdd�}t||d�}|�fS)Nr)�registryc���||f�dSr	��append)rr��_eventsrr
�_notify"sz,ComponentsTests._wrapEvents.<locals>._notify)Znotify)�zope.interfacer�_Monkey)rrr�_monkeyrrr
�_wrapEventss
zComponentsTests._wrapEventscCs�ddlm}|�d�}|�|jd�|�|jd�|�t|j|��|�t|j	|��|�|jjd�|�|j	jd�|�|j
i�|�|ji�|�|jg�|�|j
g�dS)Nr)�AdapterRegistry�testingr)�zope.interface.adapterr!r�assertEqual�__name__�	__bases__�
assertTrue�
isinstance�adapters�	utilities�_utility_registrations�_adapter_registrations�_subscription_registrations�_handler_registrations)rr!�comprrr
�test_ctor_no_bases's
z"ComponentsTests.test_ctor_no_basescCsb|�d�}|�d|f�}|�|jd�|�|j|f�|�|jj|jf�|�|jj|jf�dS)N�baser")rr$r%r&r)r*)rr1r/rrr
�test_ctor_w_base5s
z ComponentsTests.test_ctor_w_basecCs|�d�}|�t|�d�dS)Nr"z<Components testing>)rr$�repr�rr/rrr
�
test___repr__=s
zComponentsTests.test___repr__cCsl|�d�}|�d�}|��}||f|_|�|j||f�|�|jj|j|jf�|�|jj|j|jf�dS)N�base1�base2)rr&r$r)r*)rr6r7r/rrr
�test_assign_to___bases__Cs




�

�z(ComponentsTests.test_assign_to___bases__c	Cs�ddlm}m}Gdd�d|�}|d�}|d�Gdd�dt��}|�}d}|��}|j|||d	�|�|j|df||df�dS)
Nr��named�InterfaceClassc@�eZdZdS)zFComponentsTests.test_registerUtility_with_component_name.<locals>.IFooN�r%�
__module__�__qualname__rrrr
�IFooR�r@�fooc@r<)zEComponentsTests.test_registerUtility_with_component_name.<locals>.FooNr=rrrr
�FooV�rC�info�rE)�zope.interface.declarationsr:r;�objectr�registerUtilityr$r+)	rr:r;r@�ifoorCrB�_infor/rrr
�(test_registerUtility_with_component_nameNs�z8ComponentsTests.test_registerUtility_with_component_namecC�.dd�}t�}|��}|jt|j||d�dS)NcS�t��r	��NotImplementedErrorrrrr
�_factoryc�zQComponentsTests.test_registerUtility_both_factory_and_component.<locals>._factory��	component�factory�rHr�assertRaises�	TypeErrorrI�rrQ�_to_regr/rrr
�/test_registerUtility_both_factory_and_componentb�

�z?ComponentsTests.test_registerUtility_both_factory_and_componentcCs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}d}d}t�}|��}	|��\}
}|
�|	�	||||�Wd�n1sDwY|�
|	jjd|||u�|�
|	j||f||df�|�
|	jjd|d	|f�|�
t|�d
�|d\}}
|\}|�
|
i�|�
t||��|�
t|j|��|�
|jj|	u�|�
|jj|u�|�
|jj|u�|�
|jj|u�|�
|jj|u�|�
|jjdu�dS)Nr�r;��
Registered��UtilityRegistrationc@r<)z>ComponentsTests.test_registerUtility_w_component.<locals>.IFooNr=rrrr
r@orAr@rEr��)rGr;�zope.interface.interfacesr_�zope.interface.registryrarHrr rIr'r*�	_adaptersr$r+�_subscribers�lenr(r�providedrrTrErU)rr;r_rar@rJrK�_namerZr/rrrr�eventrrr
� test_registerUtility_w_componentjs<��z0ComponentsTests.test_registerUtility_w_componentcsbddlm}ddlm}ddlm}Gdd�d|�}|d�}d}d}t���fd	d
�}|��}	|��\}
}|
�|	j	d||||d�Wd�n1sLwY|�
t|�d�|d\}}
|\}|�
|
i�|�t
||��|�t
|j|��|�|jj|	u�|�|jj|u�|�|jj|u�|�|jj�u�|�|jj|u�|�|jj|u�dS)
Nrr]r^r`c@r<)z<ComponentsTests.test_registerUtility_w_factory.<locals>.IFooNr=rrrr
r@�rAr@rErc��Sr	rr�rZrr
rQ�rz@ComponentsTests.test_registerUtility_w_factory.<locals>._factory�rUrc)rGr;rdr_rerarHrr rIr$rhr'r(rrirrTrErU)rr;r_rar@rJrKrjrQr/rrrrrkrrnr
�test_registerUtility_w_factory�s4�z.ComponentsTests.test_registerUtility_w_factorycCs@Gdd�dt�}d}d}|�}|��}|�t|j|d||�dS)Nc@r<)zGComponentsTests.test_registerUtility_no_provided_available.<locals>.FooNr=rrrr
rC�rArCrErrV)rrCrKrjrZr/rrr
�*test_registerUtility_no_provided_available�s�z:ComponentsTests.test_registerUtility_no_provided_availablecCsxddlm}ddlm}ddlm}ddlm}Gdd�d|�}Gdd	�d	t�}|d�}d
}d}	|�}
||
|�|��}|�	�\}}
|�|�
|
d|	|�Wd�n1sWwY|�t|
�d�|
d\}}|\}|�|i�|�
t||��|�
t|j|��|�
|jj|u�|�
|jj|u�|�
|jj|	u�|�
|jj|
u�|�
|jj|u�|�
|jjdu�dS)
Nr��directlyProvidesr]r^r`c@r<)z>ComponentsTests.test_registerUtility_wo_provided.<locals>.IFooNr=rrrr
r@�rAr@c@r<)z=ComponentsTests.test_registerUtility_wo_provided.<locals>.FooNr=rrrr
rC�rArCrErrc)rGrsr;rdr_rerarHrr rIr$rhr'r(rrirrTrErU)rrsr;r_rar@rCrJrKrjrZr/rrrrrkrrr
� test_registerUtility_wo_provided�s8
�z0ComponentsTests.test_registerUtility_wo_providedc
Cs�ddlm}Gdd�d|�}|d�}d}d}t�}|��}|�||||�|��\}}	|�|�||||�Wd�n1s@wY|�t|	�d�dS)Nrr]c@r<)zJComponentsTests.test_registerUtility_duplicates_existing_reg.<locals>.IFooNr=rrrr
r@�rAr@rEr)rGr;rHrrIr r$rh�
rr;r@rJrKrjrZr/rrrrr
�,test_registerUtility_duplicates_existing_reg�s�z<ComponentsTests.test_registerUtility_duplicates_existing_regcCs�ddlm}Gdd�d|�}|d�}d}d}d}t�}|��}|�||||�|��\}	}
|	�|�||||�Wd�n1sBwY|�t|
�d�|�|j||f||df�|�|j	j
d|d	|f�dS)
Nrr]c@r<)zCComponentsTests.test_registerUtility_w_different_info.<locals>.IFooNr=rrrr
r@�rAr@Zinfo1Zinfo2r�rb�rGr;rHrrIr r$rhr+r*rg)rr;r@rJZ_info1Z_info2rjrZr/rrrrr
�%test_registerUtility_w_different_info�s(���z5ComponentsTests.test_registerUtility_w_different_infocCsddlm}Gdd�d|�}|d�}d}d}d}t�}t�}|��}	|	�||||�|��\}
}|
�|	�||||�Wd�n1sEwY|�t|�d�|�|	j||f||df�|�|	j||f||df�|�|	j	j
d|d	||f�dS)
Nrr]c@r<)zSComponentsTests.test_registerUtility_w_different_names_same_component.<locals>.IFooNr=rrrr
r@�rAr@rE�name1�name2rcrbrx�rr;r@rJrK�_name1�_name2Z
_other_regrZr/rrrrr
�5test_registerUtility_w_different_names_same_component�s0����zEComponentsTests.test_registerUtility_w_different_names_same_componentcCs"ddlm}ddlm}ddlm}ddlm}Gdd�d|�}|d�}d}d	}t�t�}	}
|��}|�	|	|||�|�
�\}}
|�|�	|
|||�Wd�n1sVwY|�t|
�d
�|
d\}}|\}|�|i�|�
t||��|�
t|j|��|�
|jj|u�|�
|jj|u�|�
|jj|u�|�
|jj|	u�|�
|jj|u�|�
|jjdu�|
d\}}|\}|�|i�|�
t||��|�
t|j|��|�
|jj|u�|�
|jj|u�|�
|jj|u�|�
|jj|
u�|�
|jj|u�|�
|jjdu�dS)Nrr]��Unregisteredr^r`c@r<)zHComponentsTests.test_registerUtility_replaces_existing_reg.<locals>.IFooNr=rrrr
r@rAr@rErrwrc)rGr;rdr�r_rerarHrrIr r$rhr'r(rrirrTrErU)rr;r�r_rar@rJrKrjZ_beforeZ_afterr/rrrrrkrrr
�*test_registerUtility_replaces_existing_regsL�z:ComponentsTests.test_registerUtility_replaces_existing_regcCs�ddlm}Gdd�d|�}|d�}d}d}d}t�}|��}|�||||�|��\}	}
|	�|�||||�Wd�n1sBwY|�|jjd|d|f�dS)	Nrr]c@r<)zDComponentsTests.test_registerUtility_w_existing_subscr.<locals>.IFooNr=rrrr
r@<rAr@rErzr{rb)	rGr;rHrrIr r$r*rg�rr;r@rJrKr}r~rZr/rrrrr
�&test_registerUtility_w_existing_subscr9s�"z6ComponentsTests.test_registerUtility_w_existing_subscrc
Cs�ddlm}Gdd�d|�}|d�}d}d}t�}|��}|��\}}	|�|�||||d�Wd�n1s9wY|�t|	�d�dS)Nrr]c@r<)z;ComponentsTests.test_registerUtility_wo_event.<locals>.IFooNr=rrrr
r@MrAr@rErF)rGr;rHrr rIr$rhrurrr
�test_registerUtility_wo_eventJs�z-ComponentsTests.test_registerUtility_wo_eventcs~G�fdd�d|������}|�t�t�|�tt|����d�Gdd�dt�}|�t�|�|�tt|����d�dS)Nc�"eZdZdZ��fdd�Z�ZS)zdComponentsTests.test_registerUtility_changes_object_identity_after.<locals>.CompThatChangesAfter1Regrcs<|jd7_t�|�j|�|jdkrt|j�|_dSdS)Nrc)�	reg_count�superrI�dictr+�rr)�CompThatChangesAfter1Reg�	__class__rr
rI^s

�ztComponentsTests.test_registerUtility_changes_object_identity_after.<locals>.CompThatChangesAfter1Reg.registerUtility�r%r>r?r�rI�
__classcell__r�r��r�r
r�\�r�rcc@r<)zPComponentsTests.test_registerUtility_changes_object_identity_after.<locals>.IFooNr=rrrr
r@irAr@rw�rrIrHrr$rh�list�registeredUtilities)rr/r@rr�r
�2test_registerUtility_changes_object_identity_afterYszBComponentsTests.test_registerUtility_changes_object_identity_aftercs�G�fdd�d|������}|�t�t�|�tt|����d�Gdd�dt�}|�t�|�|�tt|����d�Gdd�dt�}|�t�|�|�tt|����d	�dS)
Ncr�)zeComponentsTests.test_registerUtility_changes_object_identity_before.<locals>.CompThatChangesAfter2Regrcs8|jd7_|jdkrt|j�|_t�|�j|�dS)Nrcrw)r�r�r+r�rIr�)�CompThatChangesAfter2Regr�rr
rIts
zuComponentsTests.test_registerUtility_changes_object_identity_before.<locals>.CompThatChangesAfter2Reg.registerUtilityr�r�r�r�r
r�rr�r�rcc@r<)zQComponentsTests.test_registerUtility_changes_object_identity_before.<locals>.IFooNr=rrrr
r@�rAr@rwc@r<)zQComponentsTests.test_registerUtility_changes_object_identity_before.<locals>.IBarNr=rrrr
�IBar�rAr��r�)rr/r@r�rr�r
�3test_registerUtility_changes_object_identity_beforeos	zCComponentsTests.test_registerUtility_changes_object_identity_beforecCs"|��}|jt|jdddd�dS)N)rTrirU)rrWrX�unregisterUtilityr4rrr
�Atest_unregisterUtility_neither_factory_nor_component_nor_provided�s

�zQComponentsTests.test_unregisterUtility_neither_factory_nor_component_nor_providedcCrM)NcSrNr	rOrrrr
rQ�rRzSComponentsTests.test_unregisterUtility_both_factory_and_component.<locals>._factoryrS)rHrrWrXr�rYrrr
�1test_unregisterUtility_both_factory_and_component�r\zAComponentsTests.test_unregisterUtility_both_factory_and_componentc
Cs�ddlm}Gdd�d|�}|d�}d}t�}|��}|��\}}|�|�|||�}	Wd�n1s5wY|�|	�|�|�dS)Nrr]c@r<)zEComponentsTests.test_unregisterUtility_w_component_miss.<locals>.IFooNr=rrrr
r@�rAr@r)rGr;rHrr r��assertFalse)
rr;r@rJrjrZr/rr�unregrrr
�'test_unregisterUtility_w_component_miss�s�
z7ComponentsTests.test_unregisterUtility_w_component_misscCs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}d}t�}|��}|�|||�|�	�\}	}
|	�|�
|||�}Wd�n1sHwY|�|�|�|j
j�|�||f|jv�|�|j
j�|�t|
�d�|
d\}}
|\}|�|
i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�|jj|u�|�|jj|u�|�|jjdu�dS)	Nrr]r�r`c@r<)z@ComponentsTests.test_unregisterUtility_w_component.<locals>.IFooNr=rrrr
r@�rAr@rrc)rGr;rdr�rerarHrrIr r�r'r�r*rfr+rgr$rhr(rrirrTrU)rr;r�rar@rJrjrZr/rrr�rrrkrrr
�"test_unregisterUtility_w_component�s8�
z2ComponentsTests.test_unregisterUtility_w_componentcslddlm}ddlm}ddlm}Gdd�d|�}|d�}d}d}t���fd	d
�}|��}	|	jd||||d�|�	�\}
}|
�|	j
d|||d�}Wd�n1sUwY|�|�|�t
|�d�|d\}
}|
\}|�|i�|�t||��|�t|j|��|�|jj|	u�|�|jj|u�|�|jj|u�|�|jj�u�|�|jj|u�dS)
Nrr]r�r`c@r<)z>ComponentsTests.test_unregisterUtility_w_factory.<locals>.IFooNr=rrrr
r@�rAr@rErcrmr	rrrnrr
rQ�rzBComponentsTests.test_unregisterUtility_w_factory.<locals>._factoryrorc)rGr;rdr�rerarHrrIr r�r'r$rhr(rrirrTrU)rr;r�rar@rJrKrjrQr/rrr�rrrkrrnr
� test_unregisterUtility_w_factory�s6�
z0ComponentsTests.test_unregisterUtility_w_factorycCs�ddlm}ddlm}ddlm}ddlm}Gdd�d|�}Gdd	�d	t�}|d�}d
}d}	|�}
||
|�|��}|�	|
||	|�|�
�\}}
|�|�|
d|	�}Wd�n1s^wY|�|�|�
t|
�d�|
d\}}|\}|�
|i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�|jj|	u�|�|jj|
u�|�|jj|u�|�|jjdu�dS)
Nrrrr]r�r`c@r<)zIComponentsTests.test_unregisterUtility_wo_explicit_provided.<locals>.IFooNr=rrrr
r@�rAr@c@r<)zHComponentsTests.test_unregisterUtility_wo_explicit_provided.<locals>.FooNr=rrrr
rC�rArCrErrc�rGrsr;rdr�rerarHrrIr r�r'r$rhr(rrirrTrErU�rrsr;r�rar@rCrJrKrjrZr/rrr�rrrkrrr
�+test_unregisterUtility_wo_explicit_provided�s<
�
z;ComponentsTests.test_unregisterUtility_wo_explicit_providedcCs�ddlm}ddlm}ddlm}ddlm}Gdd�d|�}Gdd	�d	t�}|d�}d
}d}	|�}
||
|�|��}|�	|
||	|�|�
�\}}
|�|j||	d�}Wd�n1s^wY|�|�|�
t|
�d
�|
d\}}|\}|�
|i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�|jj|	u�|�|jj|
u�|�|jj|u�|�|jjdu�dS)Nrrrr]r�r`c@r<)zLComponentsTests.test_unregisterUtility_wo_component_or_factory.<locals>.IFooNr=rrrr
r@rAr@c@r<)zKComponentsTests.test_unregisterUtility_wo_component_or_factory.<locals>.FooNr=rrrr
rCrArCrEr�rirrcr�r�rrr
�.test_unregisterUtility_wo_component_or_factory
s<
�
z>ComponentsTests.test_unregisterUtility_wo_component_or_factorycC�ddlm}Gdd�d|�}|d�}d}d}d}t�}|��}|�||||�|�||||�|��\}	}
|	�|�|||�Wd�n1sIwY|�|jj	d|d|f�dS)	Nrr]c@r<)zFComponentsTests.test_unregisterUtility_w_existing_subscr.<locals>.IFooNr=rrrr
r@0rAr@rErzr{rb�
rGr;rHrrIr r�r$r*rgr�rrr
�(test_unregisterUtility_w_existing_subscr-��"z8ComponentsTests.test_unregisterUtility_w_existing_subscrcCr�)	Nrr]c@r<)zSComponentsTests.test_unregisterUtility_w_existing_subscr_non_hashable.<locals>.IFooNr=rrrr
r@BrAr@rErzr{rb)
rGr;r�rrIr r�r$r*rgr�rrr
�5test_unregisterUtility_w_existing_subscr_non_hashable?r�zEComponentsTests.test_unregisterUtility_w_existing_subscr_non_hashablecCs�ddlm}ddlm}Gdd�d|�}|d�}d}d}d}t�}|��}	|	�||||�|	�||||�|��\}
}|
�|	�|||�Wd�n1sOwY|�	|	j
jd|d	|f�dS)
Nrr])�_UtilityRegistrationsc@r<)z_ComponentsTests.test_unregisterUtility_w_existing_subscr_non_hashable_fresh_cache.<locals>.IFooNr=rrrr
r@WrAr@rErzr{rb)rGr;rer�r�rrIr r�r$r*rg)rr;r�r@rJrKr}r~rZr/rrrrr
�Atest_unregisterUtility_w_existing_subscr_non_hashable_fresh_cacheQs �"zQComponentsTests.test_unregisterUtility_w_existing_subscr_non_hashable_fresh_cachecCs�ddlm}Gdd�d|�}|d�}d}d}d}t�}|��}|�||||�|�||||�|�d�|�||||�|��\}	}
|	�|�|||�Wd�n1sVwY|�dt	|j
j��dS)	Nrr]c@r<)z]ComponentsTests.test_unregisterUtility_w_existing_subscr_non_hashable_reinitted.<locals>.IFooNr=rrrr
r@lrAr@rErzr{r1)rGr;r�rrI�__init__r r�r$rhr*rgr�rrr
�?test_unregisterUtility_w_existing_subscr_non_hashable_reinittedgs"
�zOComponentsTests.test_unregisterUtility_w_existing_subscr_non_hashable_reinittedcCs�ddlm}Gdd�d|�}|d�}d}d}d}t�}t�}|��}	|	�||||�|	�||||�|��\}
}|
�|	�|||�Wd�n1sLwY|�|	jj	d|d|f�dS)	Nrr]c@r<)zVComponentsTests.test_unregisterUtility_w_existing_subscr_other_component.<locals>.IFooNr=rrrr
r@�rAr@rErzr{rbr�r|rrr
�8test_unregisterUtility_w_existing_subscr_other_component�s$��zHComponentsTests.test_unregisterUtility_w_existing_subscr_other_componentcCs�ddlm}Gdd�d|�}|d�}d}d}d}t�}t�}|��}	|	�||||�|	�||||�|��\}
}|
�|	�|||�Wd�n1sLwY|�|	j	j
d|d|f�dS)	Nrr]c@r<)zaComponentsTests.test_unregisterUtility_w_existing_subscr_other_component_mixed_hash.<locals>.IFooNr=rrrr
r@�rAr@rErzr{rb)rGr;rHr�rrIr r�r$r*rgr|rrr
�Ctest_unregisterUtility_w_existing_subscr_other_component_mixed_hash�s$��zSComponentsTests.test_unregisterUtility_w_existing_subscr_other_component_mixed_hashcC� |��}|�t|���g�dSr	)rr$r�r�r4rrr
�test_registeredUtilities_empty��z.ComponentsTests.test_registeredUtilities_emptycCs�ddlm}ddlm}Gdd�d|�}|d�}d}d}d}t�}|��}	|	�||||�|	�||||�t|	��d	d
�d�}
|�	t
|
�d�|�t|
d|��|�|
dj
|	u�|�|
dj|u�|�|
dj|u�|�|
dj|u�|�|
dj|u�|�|
djdu�|�t|
d
|��|�|
d
j
|	u�|�|
d
j|u�|�|
d
j|u�|�|
d
j|u�|�|
d
j|u�|�|
d
jdu�dS)Nrr]r`c@r<)z?ComponentsTests.test_registeredUtilities_notempty.<locals>.IFooNr=rrrr
r@�rAr@rErzr{cS�|jSr	�r��rrrr
�<lambda>��zCComponentsTests.test_registeredUtilities_notempty.<locals>.<lambda>��keyrwrc)rGr;rerarHrrI�sortedr�r$rhr'r(rrirrTrErU)rr;rar@rJrKr}r~rZr/�regrrr
�!test_registeredUtilities_notempty�s6z1ComponentsTests.test_registeredUtilities_notemptycCsDddlm}Gdd�d|�}|d�}|��}|�|�|�du�dS)Nrr]c@r<)z?ComponentsTests.test_queryUtility_miss_no_default.<locals>.IFooNr=rrrr
r@�rAr@)rGr;rr'�queryUtility�rr;r@rJr/rrr
�!test_queryUtility_miss_no_default�s
z1ComponentsTests.test_queryUtility_miss_no_defaultcCsNddlm}Gdd�d|�}|d�}|��}t�}|�|j||d�|u�dS)Nrr]c@r<)z>ComponentsTests.test_queryUtility_miss_w_default.<locals>.IFooNr=rrrr
r@�rAr@��default)rGr;rrHr'r�)rr;r@rJr/�_defaultrrr
� test_queryUtility_miss_w_default�sz0ComponentsTests.test_queryUtility_miss_w_defaultcC�Vddlm}Gdd�d|�}|d�}t�}|��}|�||�|�|�|�|u�dS)Nrr]c@r<)z3ComponentsTests.test_queryUtility_hit.<locals>.IFooNr=rrrr
r@�rAr@)rGr;rHrrIr'r��rr;r@rJrZr/rrr
�test_queryUtility_hit��z%ComponentsTests.test_queryUtility_hitcCsLddlm}ddlm}Gdd�d|�}|d�}|��}|�||j|�dS)Nrr]��ComponentLookupErrorc@r<)z2ComponentsTests.test_getUtility_miss.<locals>.IFooNr=rrrr
r@�rAr@)rGr;rdr�rrW�
getUtility)rr;r�r@rJr/rrr
�test_getUtility_miss�sz$ComponentsTests.test_getUtility_misscCr�)Nrr]c@r<)z1ComponentsTests.test_getUtility_hit.<locals>.IFooNr=rrrr
r@�rAr@)rGr;rHrrIr'r�r�rrr
�test_getUtility_hit�r�z#ComponentsTests.test_getUtility_hitcC�Fddlm}Gdd�d|�}|d�}|��}|�t|�|��g�dS)Nrr]c@r<)z7ComponentsTests.test_getUtilitiesFor_miss.<locals>.IFooNr=rrrr
r@�rAr@)rGr;rr$r��getUtilitiesForr�rrr
�test_getUtilitiesFor_miss��
z)ComponentsTests.test_getUtilitiesFor_misscCs�ddlm}Gdd�d|�}|d�}d}d}t�}|��}|j|||d�|j|||d�|�t|�|��||f||fg�dS)Nrr]c@r<)z6ComponentsTests.test_getUtilitiesFor_hit.<locals>.IFooNr=rrrr
r@rAr@rzr{r�)rGr;rHrrIr$r�r��rr;r@rJr}r~rZr/rrr
�test_getUtilitiesFor_hits�z(ComponentsTests.test_getUtilitiesFor_hitcCr�)Nrr]c@r<)zDComponentsTests.test_getAllUtilitiesRegisteredFor_miss.<locals>.IFooNr=rrrr
r@rAr@)rGr;rr$r��getAllUtilitiesRegisteredForr�rrr
�&test_getAllUtilitiesRegisteredFor_missr�z6ComponentsTests.test_getAllUtilitiesRegisteredFor_misscCsvddlm}Gdd�d|�}|d�}d}d}t�}|��}|j|||d�|j|||d�|�t|�|��|g�dS)Nrr]c@r<)zCComponentsTests.test_getAllUtilitiesRegisteredFor_hit.<locals>.IFooNr=rrrr
r@rAr@rzr{r�)rGr;rHrrIr$r�r�r�rrr
�%test_getAllUtilitiesRegisteredFor_hits�z5ComponentsTests.test_getAllUtilitiesRegisteredFor_hitc	Cs�ddlm}m}Gdd�d|�}|d�}|d�}|d�Gdd�dt��}d	}|��}|j||f||d
�|�|j|f|df||f�dS)Nrr9c@r<)zFComponentsTests.test_registerAdapter_with_component_name.<locals>.IFooNr=rrrr
r@/rAr@r�rBc@r<)zEComponentsTests.test_registerAdapter_with_component_name.<locals>.FooNr=rrrr
rC4rDrCrErF)rGr:r;rHr�registerAdapterr$r,)	rr:r;r@rJ�ibarrCrKr/rrr
�(test_registerAdapter_with_component_name+s�z8ComponentsTests.test_registerAdapter_with_component_namecCs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}d}d	}d
d�}	|��}
|��\}}|�|
�|	|f|||�Wd�n1sKwY|�	|
j
jd||||	u�|�|
j
|f||f|	|f�|�t|�d�|d\}
}|
\}|�|i�|�	t||��|�	t|j|��|�	|jj|
u�|�	|jj|u�|�|jj|f�|�	|jj|u�|�	|jj|u�|�	|jj|	u�dS)
Nrr]r^��AdapterRegistrationc@r<)zSComponentsTests.test_registerAdapter_w_explicit_provided_and_required.<locals>.IFooNr=rrrr
r@ErAr@r�rErcSrNr	rO��contextrrr
rQLrRzWComponentsTests.test_registerAdapter_w_explicit_provided_and_required.<locals>._factoryrc)rGr;rdr_rer�rr r�r'r)rfr$r,rhr(rHrri�requiredrrErU)rr;r_r�r@rJr�rKrjrQr/rrrrrkrrr
�5test_registerAdapter_w_explicit_provided_and_required@s@���zEComponentsTests.test_registerAdapter_w_explicit_provided_and_requiredcCsbddlm}Gdd�d|�}|d�}d}d}Gdd	�d	t�}|��}|jt|j||f||d
�dS)Nrr]c@r<)zHComponentsTests.test_registerAdapter_no_provided_available.<locals>.IFooNr=rrrr
r@frAr@r�rErc@r<)zLComponentsTests.test_registerAdapter_no_provided_available.<locals>._FactoryNr=rrrr
�_FactorymrAr��rrE�rGr;rHrrWrXr�)rr;r@r�rKrjr�r/rrr
�*test_registerAdapter_no_provided_availablecs
�z:ComponentsTests.test_registerAdapter_no_provided_availablecCs�ddlm}ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}d	}d
}	t�}
||�Gdd�dt��}|��}|�	�\}
}|
�|j
||f|	|d
�Wd�n1s\wY|�|jj
d|||	|u�|�|j|f||	f||f�|�t|�d�|d\}}|\}|�|i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�|jj|f�|�|jj|	u�|�|jj|u�|�|jj|u�dS)Nrr]��implementerr^r�c@r<)zGComponentsTests.test_registerAdapter_wo_explicit_provided.<locals>.IFooNr=rrrr
r@zrAr@r�rErc@r<)zKComponentsTests.test_registerAdapter_wo_explicit_provided.<locals>._FactoryNr=rrrr
r��rDr�r�rc)rGr;r�rdr_rer�rHrr r�r'r)rfr$r,rhr(rrir�rrErU)rr;r�r_r�r@rJr�rKrjrZr�r/rrrrrkrrr
�)test_registerAdapter_wo_explicit_providedtsF���z9ComponentsTests.test_registerAdapter_wo_explicit_providedcCs`ddlm}Gdd�d|�}|d�}d}d}Gdd�dt�}|��}|jt|j||||d	�dS)
Nrr]c@r<)zHComponentsTests.test_registerAdapter_no_required_available.<locals>.IFooNr=rrrr
r@�rAr@rErc@r<)zLComponentsTests.test_registerAdapter_no_required_available.<locals>._FactoryNr=rrrr
r��rAr��rirrEr��rr;r@rJrKrjr�r/rrr
�*test_registerAdapter_no_required_available�s
�z:ComponentsTests.test_registerAdapter_no_required_availablec		Csjddlm}Gdd�d|�}|d�}|d�}d}d}Gdd	�d	t�}|��}|jt|j|||||d
�dS)Nrr]c@r<)zEComponentsTests.test_registerAdapter_w_invalid_required.<locals>.IFooNr=rrrr
r@�rAr@r�rErc@r<)zIComponentsTests.test_registerAdapter_w_invalid_required.<locals>._FactoryNr=rrrr
r��rAr�r�r�)	rr;r@rJr�rKrjr�r/rrr
�'test_registerAdapter_w_invalid_required�s
�z7ComponentsTests.test_registerAdapter_w_invalid_requiredcCs�ddlm}ddlm}ddlm}ddlm}Gdd�d|�}|d�}d}d	}Gd
d�dt�}	|�	�}
|�
�\}}|�|
j|	dg|||d�Wd�n1sRwY|�|
j
jd
||||	u�|�|
j|f||f|	|f�|�t|�d
�|d\}
}|
\}|�|i�|�t||��|�t|j|��|�|jj|
u�|�|jj|u�|�|jj|f�|�|jj|u�|�|jj|u�|�|jj|	u�dS)Nrr]rr^r�c@r<)zMComponentsTests.test_registerAdapter_w_required_containing_None.<locals>.IFooNr=rrrr
r@�rAr@rErc@r<)zQComponentsTests.test_registerAdapter_w_required_containing_None.<locals>._FactoryNr=rrrr
r��rAr�r�rc)rGr;Zzope.interface.interfacerrdr_rer�rHrr r�r'r)rfr$r,rhr(rrir�rrErU)rr;rr_r�r@rJrKrjr�r/rrrrrkrrr
�/test_registerAdapter_w_required_containing_None�sD����z?ComponentsTests.test_registerAdapter_w_required_containing_NonecCs�ddlm}ddlm}ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d	�}d
}	d}
Gdd
�d
t�}||�Gdd�dt��}||�}
|�	�}|�
�\}}|�|j||g||
|	d�Wd�n1slwY|�|j
jd|
||
|u�|�|j|
f||
f||	f�|�t|�d�|d\}}|\}|�|i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�|jj|
f�|�|jj|
u�|�|jj|	u�|�|jj|u�dS)Nrr]r�)�
implementedByr^r�c@r<)zNComponentsTests.test_registerAdapter_w_required_containing_class.<locals>.IFooNr=rrrr
r@�rAr@r�rErc@r<)zRComponentsTests.test_registerAdapter_w_required_containing_class.<locals>._FactoryNr=rrrr
r��rAr�c@r<)zRComponentsTests.test_registerAdapter_w_required_containing_class.<locals>._ContextNr=rrrr
�_Context�rDr�r�rc)rGr;r�r�rdr_rer�rHrr r�r'r)rfr$r,rhr(rrir�rrErU)rr;r�r�r_r�r@rJr�rKrjr�r�Z	_ctx_implr/rrrrrkrrr
�0test_registerAdapter_w_required_containing_class�sN����z@ComponentsTests.test_registerAdapter_w_required_containing_classc	Csfddlm}Gdd�d|�}|d�}d}d}Gdd�dt�}|��}|jt|j|t�g|||d	�dS)
Nrr]c@r<)zMComponentsTests.test_registerAdapter_w_required_containing_junk.<locals>.IFooNr=rrrr
r@
rAr@rErc@r<)zQComponentsTests.test_registerAdapter_w_required_containing_junk.<locals>._FactoryNr=rrrr
r�rAr�r�r�r�rrr
�/test_registerAdapter_w_required_containing_junks
�z?ComponentsTests.test_registerAdapter_w_required_containing_junkcs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d��d}d	}G�fd
d�dt�}|��}	|��\}
}|
�|	j	||||d�Wd�n1sPwY|�
|	jjd
�|||u�|�
|	j�f||f||f�|�
t|�d
�|d\}}
|\}|�
|
i�|�
t||��|�
t|j|��|�
|jj|	u�|�
|jj|u�|�
|jj�f�|�
|jj|u�|�
|jj|u�|�
|jj|u�dS)Nrr]r^r�c@r<)zGComponentsTests.test_registerAdapter_wo_explicit_required.<locals>.IFooNr=rrrr
r@rAr@r�rErc�eZdZ�fZdS)zKComponentsTests.test_registerAdapter_wo_explicit_required.<locals>._FactoryN�r%r>r?�__component_adapts__r�r�rr
r�!�
r�r�rc)rGr;rdr_rer�rHrr r�r'r)rfr$r,rhr(rrir�rrErU)rr;r_r�r@rJrKrjr�r/rrrrrkrr�r
�)test_registerAdapter_wo_explicit_requiredsD
����z9ComponentsTests.test_registerAdapter_wo_explicit_requiredc	Cs�ddlm}Gdd�d|�}|d�}|d�}d}d}dd	�}|��}|��\}	}
|	�|j||f|||d
d�Wd�n1sAwY|�t|
�d�dS)Nrr]c@r<)z;ComponentsTests.test_registerAdapter_wo_event.<locals>.IFooNr=rrrr
r@=rAr@r�rErcSrNr	rOr�rrr
rQDrRz?ComponentsTests.test_registerAdapter_wo_event.<locals>._factoryF)rk)rGr;rr r�r$rh)rr;r@rJr�rKrjrQr/rrrrr
�test_registerAdapter_wo_event:s��z-ComponentsTests.test_registerAdapter_wo_eventcC� |��}|jt|jddd�dS�N)rUri)rrWrX�unregisterAdapterr4rrr
�3test_unregisterAdapter_neither_factory_nor_providedM�

�zCComponentsTests.test_unregisterAdapter_neither_factory_nor_providedcC�Fddlm}Gdd�d|�}|d�}|��}|jt|jd|dd�dS)Nrr]c@r<)zQComponentsTests.test_unregisterAdapter_neither_factory_nor_required.<locals>.IFooNr=rrrr
r@TrAr@�rUrir�)rGr;rrWrXr�r�rrr
�3test_unregisterAdapter_neither_factory_nor_requiredR�

�zCComponentsTests.test_unregisterAdapter_neither_factory_nor_requiredc
Cs�ddlm}Gdd�d|�}|d�}|d�}Gdd�dt�}|��}|��\}}|�|�||f|�}	Wd�n1s=wY|�|	�dS)Nrr]c@r<)z9ComponentsTests.test_unregisterAdapter_miss.<locals>.IFooNr=rrrr
r@]rAr@r�c@r<)z=ComponentsTests.test_unregisterAdapter_miss.<locals>._FactoryNr=rrrr
r�arAr�)rGr;rHrr r�r��
rr;r@rJr�r�r/rrr�rrr
�test_unregisterAdapter_miss[s�z+ComponentsTests.test_unregisterAdapter_misscC�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}Gdd	�d	t�}|��}|�||f|�|�	�\}	}
|	�|�
||f|�}Wd�n1sQwY|�|�|�|j
j�|�|j�|�t|
�d
�|
d\}}
|\}|�|
i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�|jj|f�|�|jjd�|�|jjd�|�|jj|u�dS)Nrr]r�r�c@r<)zYComponentsTests.test_unregisterAdapter_hit_w_explicit_provided_and_required.<locals>.IFooNr=rrrr
r@nrAr@r�c@r<)z]ComponentsTests.test_unregisterAdapter_hit_w_explicit_provided_and_required.<locals>._FactoryNr=rrrr
r�rrAr�rcrb)rGr;rdr�rer�rHrr�r r�r'r�r)rfr,r$rhr(rrir�rrErU)rr;r�r�r@rJr�r�r/rrr�rrrkrrr
�;test_unregisterAdapter_hit_w_explicit_provided_and_requiredj�8�
zKComponentsTests.test_unregisterAdapter_hit_w_explicit_provided_and_requiredcC�ddlm}ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}||�Gd	d
�d
t��}|��}	|	�	||f|�|�
�\}
}|
�|	�||f�}Wd�n1sZwY|�|�|�
t|�d�|d\}
}|
\}|�
|i�|�t||��|�t|j|��|�|jj|	u�|�|jj|u�|�
|jj|f�|�
|jjd�|�
|jjd�|�|jj|u�dS)
Nrr]r�r�r�c@r<)zIComponentsTests.test_unregisterAdapter_wo_explicit_provided.<locals>.IFooNr=rrrr
r@�rAr@r�c@r<)zMComponentsTests.test_unregisterAdapter_wo_explicit_provided.<locals>._FactoryNr=rrrr
r��rDr�rcrb)rGr;r�rdr�rer�rHrr�r r�r'r$rhr(rrir�rrErU)rr;r�r�r�r@rJr�r�r/rrr�rrrkrrr
�+test_unregisterAdapter_wo_explicit_provided��8�
z;ComponentsTests.test_unregisterAdapter_wo_explicit_providedc�tddlm}ddlm}ddlm}Gdd�d|�}|d�}|d��G�fdd	�d	t�}|��}|�|�f|�|�	�\}}	|�|j
||d
�}
Wd�n1sRwY|�|
�|�t
|	�d�|	d\}}|\}
|�|i�|�t|
|��|�t|
j|��|�|
jj|u�|�|
jj|u�|�|
jj�f�|�|
jjd�|�|
jjd�|�|
jj|u�dS)
Nrr]r�r�c@r<)zIComponentsTests.test_unregisterAdapter_wo_explicit_required.<locals>.IFooNr=rrrr
r@�rAr@r�cr�)zMComponentsTests.test_unregisterAdapter_wo_explicit_required.<locals>._FactoryNr�rr�rr
r��r�r��rircrb)rGr;rdr�rer�rHrr�r r�r'r$rhr(rrir�rrErU)rr;r�r�r@rJr�r/rrr�rrrkrr�r
�+test_unregisterAdapter_wo_explicit_required��4�
z;ComponentsTests.test_unregisterAdapter_wo_explicit_requiredcCr�r	)rr$r��registeredAdaptersr4rrr
�test_registeredAdapters_empty�r�z-ComponentsTests.test_registeredAdapters_emptycCs�ddlm}ddlm}Gdd�d|�}|d�}|d�}d}d}d}Gd	d
�d
t�}	|��}
|
�|	|f|||�|
�|	|f|||�t|
��dd�d
�}|�	t
|�d�|�t|d|��|�|dj
|
u�|�|dj|u�|�	|dj|f�|�|dj|u�|�|dj|u�|�|dj|	u�|�t|d|��|�|dj
|
u�|�|dj|u�|�	|dj|f�|�|dj|u�|�|dj|u�|�|dj|	u�dS)Nrr]r�c@r<)z>ComponentsTests.test_registeredAdapters_notempty.<locals>.IFooNr=rrrr
r@�rAr@rErzr{c@r<)zBComponentsTests.test_registeredAdapters_notempty.<locals>._FactoryNr=rrrr
r��rAr�cSr�r	r�r�rrr
r��r�zBComponentsTests.test_registeredAdapters_notempty.<locals>.<lambda>r�rwrc)rGr;rer�rHrr�r�rr$rhr'r(rrir�rrErU)rr;r�r@rJr�rKr}r~r�r/r�rrr
� test_registeredAdapters_notempty�s8z0ComponentsTests.test_registeredAdapters_notemptycCsLddlm}Gdd�d|�}|d�}|��}t�}|�|�||�du�dS)Nrr]c@r<)z?ComponentsTests.test_queryAdapter_miss_no_default.<locals>.IFooNr=rrrr
r@�rAr@�rGr;rrHr'�queryAdapter)rr;r@rJr/�_contextrrr
�!test_queryAdapter_miss_no_default�sz1ComponentsTests.test_queryAdapter_miss_no_defaultcCsVddlm}Gdd�d|�}|d�}|��}t�}t�}|�|j|||d�|u�dS)Nrr]c@r<)z>ComponentsTests.test_queryAdapter_miss_w_default.<locals>.IFooNr=rrrr
r@�rAr@r�r)rr;r@rJr/rr�rrr
� test_queryAdapter_miss_w_default�s�z0ComponentsTests.test_queryAdapter_miss_w_defaultcCs�ddlm}ddlm}Gdd�d|�}|d�}|d�}Gdd�dt�}||�Gd	d
�d
t��}|�}|��}	|	�||f|�|	�||�}
|�t|
|��|�|
j	|u�dS)Nrr]r�c@r<)z3ComponentsTests.test_queryAdapter_hit.<locals>.IFooNr=rrrr
r@rAr@r�c@�eZdZdd�ZdS)z7ComponentsTests.test_queryAdapter_hit.<locals>._FactorycS�
||_dSr	r��rr�rrr
r�
�
z@ComponentsTests.test_queryAdapter_hit.<locals>._Factory.__init__N�r%r>r?r�rrrr
r�	�r�c@r<)z7ComponentsTests.test_queryAdapter_hit.<locals>._ContextNr=rrrr
r�rDr�)
rGr;r�rHrr�rr'r(r��rr;r�r@rJr�r�r�rr/�adapterrrr
�test_queryAdapter_hitsz%ComponentsTests.test_queryAdapter_hitc
Cs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}||�Gdd	�d	t��}|�}|��}	|�||	j||�dS)
Nrr]r�r�c@r<)z2ComponentsTests.test_getAdapter_miss.<locals>.IFooNr=rrrr
r@rAr@r�c@r<)z6ComponentsTests.test_getAdapter_miss.<locals>._ContextNr=rrrr
r�rDr�)	rGr;r�rdr�rHrrW�
getAdapter)
rr;r�r�r@rJr�r�rr/rrr
�test_getAdapter_misss�z$ComponentsTests.test_getAdapter_misscCs�ddlm}ddlm}Gdd�d|�}|d�}|d�}Gdd�dt�}||�Gd	d
�d
t��}|�}|��}	|	�||f|�|	�||�}
|�|
|�|�|
j	|�dS)Nrr]r�c@r<)z1ComponentsTests.test_getAdapter_hit.<locals>.IFooNr=rrrr
r@)rAr@r�c@r)z5ComponentsTests.test_getAdapter_hit.<locals>._FactorycSrr	r�rrrr
r�.rz>ComponentsTests.test_getAdapter_hit.<locals>._Factory.__init__Nrrrrr
r�-rr�c@r<)z5ComponentsTests.test_getAdapter_hit.<locals>._ContextNr=rrrr
r�0rDr�)
rGr;r�rHrr�r �assertIsInstance�assertIsr�rrrr
�test_getAdapter_hit&sz#ComponentsTests.test_getAdapter_hitcs*ddlm}ddlm}Gdd�d|�}Gdd�d|�}Gdd	�d	|�}||�Gd
d�dt��}||�Gdd
�d
|��}Gdd�dt�}Gdd�dt�}	|��}
|
�|	|f|�|
�||f|�|�|
�|�}|
�||�}|�	||	�|�
|j|�t||�}
|
�|
|�}|�	||�|�
|j|�dS)Nrrr�c@r<)z8ComponentsTests.test_getAdapter_hit_super.<locals>.IBaseNr=rrrr
�IBase>rAr%c@r<)z;ComponentsTests.test_getAdapter_hit_super.<locals>.IDerivedNr=rrrr
�IDerivedArAr&c@r<)z7ComponentsTests.test_getAdapter_hit_super.<locals>.IFooNr=rrrr
r@DrAr@c@r<)z7ComponentsTests.test_getAdapter_hit_super.<locals>.BaseNr=rrrr
�BaseGrDr'c@r<)z:ComponentsTests.test_getAdapter_hit_super.<locals>.DerivedNr=rrrr
�DerivedKrDr(c@r)z>ComponentsTests.test_getAdapter_hit_super.<locals>.AdapterBasecSrr	r�rrrr
r�PrzGComponentsTests.test_getAdapter_hit_super.<locals>.AdapterBase.__init__Nrrrrr
�AdapterBaseOrr)c@r)zAComponentsTests.test_getAdapter_hit_super.<locals>.AdapterDerivedcSrr	r�rrrr
r�TrzJComponentsTests.test_getAdapter_hit_super.<locals>.AdapterDerived.__init__Nrrrrr
�AdapterDerivedSrr*�
rrrGr�rHrr��_should_not_changer r"r#r�r��rrr�r%r&r@r'r(r)r*r/�derivedr�super�rr
�test_getAdapter_hit_super:s.

z)ComponentsTests.test_getAdapter_hit_supercsLddlm}ddlm}Gdd�d|�}Gdd�d|�}Gdd	�d	|�}Gd
d�dt�}Gdd
�d
|�}||�Gdd�d|��}||�Gdd�d||��}	Gdd�dt�}
Gdd�dt�}|��}|�||f|�|�|
|f|�|�|�|	�}
|�|
|�}|�	||�|�
|j|
�t|	|
�}|�||�}|�	||
�|�
|j|
�dS)Nrrr�c@r<)zaComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.IBaseNr=rrrr
r%jrAr%c@r<)zdComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.IDerivedNr=rrrr
r&mrAr&c@r<)z`ComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.IFooNr=rrrr
r@prAr@c@r<)z`ComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.BaseNr=rrrr
r'srAr'c@r<)zbComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.Child1Nr=rrrr
�Child1vrAr1c@r<)zbComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.Child2Nr=rrrr
�Child2yrDr2c@r<)zcComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.DerivedNr=rrrr
r(}rDr(c@r)zgComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterBasecSrr	r�rrrr
r��rzpComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterBase.__init__Nrrrrr
r)�rr)c@r)zjComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterDerivedcSrr	r�rrrr
r��rzsComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterDerived.__init__Nrrrrr
r*�rr*r+)rrr�r%r&r@r'r1r2r(r)r*r/r.rr/r�rr
�Btest_getAdapter_hit_super_when_parent_implements_interface_diamondfs2

zRComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamondcCs�ddlm}ddlm}Gdd�d|�}|d�}|d�}|d�}||�Gdd	�d	t��}||�Gd
d�dt��}|�}	|�}
|��}|�|�|	|
f|�d�dS)Nrr]r�c@r<)z9ComponentsTests.test_queryMultiAdapter_miss.<locals>.IFooNr=rrrr
r@�rAr@r��IBazc@r<)z>ComponentsTests.test_queryMultiAdapter_miss.<locals>._Context1Nr=rrrr
�	_Context1�rDr5c@r<)z>ComponentsTests.test_queryMultiAdapter_miss.<locals>._Context2Nr=rrrr
�	_Context2�rDr6)rGr;r�rHrr$�queryMultiAdapter�rr;r�r@rJr��ibazr5r6�	_context1�	_context2r/rrr
�test_queryMultiAdapter_miss�s �z+ComponentsTests.test_queryMultiAdapter_missc
Cs�ddlm}ddlm}Gdd�d|�}|d�}|d�}|d�}||�Gdd	�d	t��}||�Gd
d�dt��}|�}	|�}
t�}|��}|�|j|	|
f||d�|u�dS)
Nrr]r�c@r<)zCComponentsTests.test_queryMultiAdapter_miss_w_default.<locals>.IFooNr=rrrr
r@�rAr@r�r4c@r<)zHComponentsTests.test_queryMultiAdapter_miss_w_default.<locals>._Context1Nr=rrrr
r5�rDr5c@r<)zHComponentsTests.test_queryMultiAdapter_miss_w_default.<locals>._Context2Nr=rrrr
r6�rDr6r�)rGr;r�rHrr'r7)
rr;r�r@rJr�r9r5r6r:r;r�r/rrr
�%test_queryMultiAdapter_miss_w_default�s*���z5ComponentsTests.test_queryMultiAdapter_miss_w_defaultcC��ddlm}ddlm}Gdd�d|�}|d�}|d�}|d�}||�Gdd	�d	t��}||�Gd
d�dt��}|�}	|�}
Gdd
�d
t�}|��}|�|||f|�|�|	|
f|�}
|�t|
|��|�	|
j
|	|
f�dS)Nrr]r�c@r<)z8ComponentsTests.test_queryMultiAdapter_hit.<locals>.IFooNr=rrrr
r@�rAr@r�r4c@r<)z=ComponentsTests.test_queryMultiAdapter_hit.<locals>._Context1Nr=rrrr
r5�rDr5c@r<)z=ComponentsTests.test_queryMultiAdapter_hit.<locals>._Context2Nr=rrrr
r6�rDr6c@r)z<ComponentsTests.test_queryMultiAdapter_hit.<locals>._FactorycS�||f|_dSr	r��r�context1�context2rrr
r���zEComponentsTests.test_queryMultiAdapter_hit.<locals>._Factory.__init__Nrrrrr
r��rr�)rGr;r�rHrr�r7r'r(r$r��rr;r�r@rJr�r9r5r6r:r;r�r/rrrr
�test_queryMultiAdapter_hit��$z*ComponentsTests.test_queryMultiAdapter_hitc
Cs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}|d�}||�Gd	d
�d
t��}||�Gdd�dt��}	|�}
|	�}|��}|�||j|
|f|�dS)
Nrr]r�r�c@r<)z7ComponentsTests.test_getMultiAdapter_miss.<locals>.IFooNr=rrrr
r@�rAr@r�r4c@r<)z<ComponentsTests.test_getMultiAdapter_miss.<locals>._Context1Nr=rrrr
r5�rDr5c@r<)z<ComponentsTests.test_getMultiAdapter_miss.<locals>._Context2Nr=rrrr
r6�rDr6)	rGr;r�rdr�rHrrW�getMultiAdapter)
rr;r�r�r@rJr�r9r5r6r:r;r/rrr
�test_getMultiAdapter_miss�s"�z)ComponentsTests.test_getMultiAdapter_misscCr>)Nrr]r�c@r<)z6ComponentsTests.test_getMultiAdapter_hit.<locals>.IFooNr=rrrr
r@�rAr@r�r4c@r<)z;ComponentsTests.test_getMultiAdapter_hit.<locals>._Context1Nr=rrrr
r5�rDr5c@r<)z;ComponentsTests.test_getMultiAdapter_hit.<locals>._Context2Nr=rrrr
r6�rDr6c@r)z:ComponentsTests.test_getMultiAdapter_hit.<locals>._FactorycSr?r	r�r@rrr
r�rCzCComponentsTests.test_getMultiAdapter_hit.<locals>._Factory.__init__Nrrrrr
r�rr�)rGr;r�rHrr�rGr'r(r$r�rDrrr
�test_getMultiAdapter_hit�rFz(ComponentsTests.test_getMultiAdapter_hitcs(�fdd�}||_||j_||jj_dS)Ncs��d�dS)NzNothing should get changed)Zfail)rr
rr
�
no_changes
rCz6ComponentsTests._should_not_change.<locals>.no_changes)�changedr)�	_v_lookup)rr/rJrr
r
r,	sz"ComponentsTests._should_not_changecs^ddlm}ddlm}Gdd�d|�}Gdd�d|�}Gdd	�d	|�}||�Gd
d�dt��}||�Gdd
�d
|��}Gdd�dt�}Gdd�d|�}	|��}
|
�|	||f|�|
�|||f|�|�|
�|�}|
�||f|�}|�	||	�|�
|j|�|�
|j|�t
||�}
|
�|
|f|�}|�	||�|�||	�|�
|j|�|�
|j|�dS)Nrrr�c@r<)z=ComponentsTests.test_getMultiAdapter_hit_super.<locals>.IBaseNr=rrrr
r%rAr%c@r<)z@ComponentsTests.test_getMultiAdapter_hit_super.<locals>.IDerivedNr=rrrr
r&rAr&c@r<)z<ComponentsTests.test_getMultiAdapter_hit_super.<locals>.IFooNr=rrrr
r@rAr@c@r<)z<ComponentsTests.test_getMultiAdapter_hit_super.<locals>.BaseNr=rrrr
r' rDr'c@r<)z?ComponentsTests.test_getMultiAdapter_hit_super.<locals>.DerivedNr=rrrr
r($rDr(c@r)zCComponentsTests.test_getMultiAdapter_hit_super.<locals>.AdapterBasecSs||_||_dSr	�rArBr@rrr
r�)s
zLComponentsTests.test_getMultiAdapter_hit_super.<locals>.AdapterBase.__init__Nrrrrr
r)(rr)c@r<)zFComponentsTests.test_getMultiAdapter_hit_super.<locals>.AdapterDerivedNr=rrrr
r*-rAr*)rrrGr�rHrr�r,rGr"r#rArBr�ZassertNotIsInstancer-r�rr
�test_getMultiAdapter_hit_supers4

z.ComponentsTests.test_getMultiAdapter_hit_supercCs�ddlm}ddlm}Gdd�d|�}|d�}|d�}|d�}||�Gdd	�d	t��}||�Gd
d�dt��}|�}	|�}
|��}|�t|�|	|
f|��g�dS)Nrr]r�c@r<)z4ComponentsTests.test_getAdapters_empty.<locals>.IFooNr=rrrr
r@ErAr@r�r4c@r<)z9ComponentsTests.test_getAdapters_empty.<locals>._Context1Nr=rrrr
r5JrDr5c@r<)z9ComponentsTests.test_getAdapters_empty.<locals>._Context2Nr=rrrr
r6MrDr6)rGr;r�rHrr$r��getAdaptersr8rrr
�test_getAdapters_emptyBs �z&ComponentsTests.test_getAdapters_emptyc
s�ddlm}ddlm}Gdd�d|�}|d�}|d�}|d�}||�Gdd	�d	t��}||�Gd
d�dt��}|�}	|�}
|��}g��fdd
�}|�|||f|�|�t|�|	|
f|��g�|��|	|
fg�dS)Nrr]r�c@r<)zCComponentsTests.test_getAdapters_factory_returns_None.<locals>.IFooNr=rrrr
r@YrAr@r�r4c@r<)zHComponentsTests.test_getAdapters_factory_returns_None.<locals>._Context1Nr=rrrr
r5^rDr5c@r<)zHComponentsTests.test_getAdapters_factory_returns_None.<locals>._Context2Nr=rrrr
r6arDr6crr	rrM�Z_called_withrr
�_side_effect_onlyhszPComponentsTests.test_getAdapters_factory_returns_None.<locals>._side_effect_only)	rGr;r�rHrr�r$r�rO)
rr;r�r@rJr�r9r5r6r:r;r/rRrrQr
�%test_getAdapters_factory_returns_NoneVs(�z5ComponentsTests.test_getAdapters_factory_returns_NonecCsXddlm}ddlm}Gdd�d|�}|d�}|d�}|d�}||�Gdd	�d	t��}||�Gd
d�dt��}|�}	|�}
Gdd
�d
t�}Gdd�dt�}d}
d}|��}|j|||f||
d�|j|||f||d�t|�|	|
f|��}|�t	|�d�|�|dd|
�|�
t|dd|��|�|dd|�|�
t|dd|��dS)Nrr]r�c@r<)z8ComponentsTests.test_getAdapters_non_empty.<locals>.IFooNr=rrrr
r@trAr@r�r4c@r<)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Context1Nr=rrrr
r5yrDr5c@r<)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Context2Nr=rrrr
r6|rDr6c@r)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Factory1cSr?r	r�r@rrr
r��rCzFComponentsTests.test_getAdapters_non_empty.<locals>._Factory1.__init__Nrrrrr
�	_Factory1�rrTc@r)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Factory2cSr?r	r�r@rrr
r��rCzFComponentsTests.test_getAdapters_non_empty.<locals>._Factory2.__init__Nrrrrr
�	_Factory2�rrUrzr{r�rwrc)rGr;r�rHrr�r�rOr$rhr'r()rr;r�r@rJr�r9r5r6r:r;rTrUr}r~r/�foundrrr
�test_getAdapters_non_emptyps2z*ComponentsTests.test_getAdapters_non_emptyc		Csbddlm}Gdd�d|�}|d�}|d�}d}d}dd	�}|��}|�t|j||f|||�dS)
Nrr]c@r<)zNComponentsTests.test_registerSubscriptionAdapter_w_nonblank_name.<locals>.IFooNr=rrrr
r@�rAr@r�rrEcSrNr	rOr�rrr
rQ�rRzRComponentsTests.test_registerSubscriptionAdapter_w_nonblank_name.<locals>._factory)rGr;rrWrX�registerSubscriptionAdapter)	rr;r@rJr�rjrKrQr/rrr
�0test_registerSubscriptionAdapter_w_nonblank_name�s
�z@ComponentsTests.test_registerSubscriptionAdapter_w_nonblank_namecCs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}d}d	}d
d�}	|��}
|��\}}|�|
j|	|f||d�Wd�n1sKwY|
j	j
d
|||}
|�t|
�d
�|�
|
d|	u�|�|
j|f|||	|fg�|�t|�d
�|d\}}|\}|�|i�|�
t||��|�
t|j|��|�
|jj|
u�|�
|jj|u�|�|jj|f�|�|jj|�|�
|jj|u�|�
|jj|	u�dS)Nrr]r^��SubscriptionRegistrationc@r<)z_ComponentsTests.test_registerSubscriptionAdapter_w_explicit_provided_and_required.<locals>.IFooNr=rrrr
r@�rAr@r�rbrEcSrNr	rOr�rrr
rQ�rRzcComponentsTests.test_registerSubscriptionAdapter_w_explicit_provided_and_required.<locals>._factoryrFrc)rGr;rdr_rer[rr rXr)rgr$rhr'r-r(rHrrir�rrErU)rr;r_r[r@rJr��_blankrKrQr/rrr�rrrkrrr
�Atest_registerSubscriptionAdapter_w_explicit_provided_and_required�sD���zQComponentsTests.test_registerSubscriptionAdapter_w_explicit_provided_and_requiredcCs�ddlm}ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}d	}d
}	||�Gdd�dt��}
|��}|�	�\}}
|�|j
|
|f|d
�Wd�n1sXwY|jjd|||	}|�
t|�d�|�|d|
u�|�
|j|f||	|
|fg�|�
t|
�d�|
d\}}|\}|�
|i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�
|jj|f�|�
|jj|	�|�|jj|u�|�|jj|
u�dS)Nrr]r�r^rZc@r<)zSComponentsTests.test_registerSubscriptionAdapter_wo_explicit_provided.<locals>.IFooNr=rrrr
r@�rAr@r�rErbc@r<)zWComponentsTests.test_registerSubscriptionAdapter_wo_explicit_provided.<locals>._FactoryNr=rrrr
r��rDr�rFrc)rGr;r�rdr_rer[rHrr rXr)rgr$rhr'r-r(rrir�rrErU)rr;r�r_r[r@rJr�rKr\r�r/rrr�rrrkrrr
�5test_registerSubscriptionAdapter_wo_explicit_provided�sD��zEComponentsTests.test_registerSubscriptionAdapter_wo_explicit_providedcs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d��d}d	}G�fd
d�dt�}|��}	|��\}
}|
�|	j	|||d�Wd�n1sOwY|	j
jd
�||}|�t
|�d
�|�|d|u�|�|	j�f||||fg�|�t
|�d
�|d\}
}|
\}|�|i�|�t||��|�t|j|��|�|jj|	u�|�|jj|u�|�|jj�f�|�|jj|�|�|jj|u�|�|jj|u�dS)Nrr]r^rZc@r<)zSComponentsTests.test_registerSubscriptionAdapter_wo_explicit_required.<locals>.IFooNr=rrrr
r@�rAr@r�rErbcr�)zWComponentsTests.test_registerSubscriptionAdapter_wo_explicit_required.<locals>._FactoryNr�rr�rr
r��r�r�)rirErc)rGr;rdr_rer[rHrr rXr)rgr$rhr'r-r(rrir�rrErU)rr;r_r[r@rJrKr\r�r/rrr�rrrkrr�r
�5test_registerSubscriptionAdapter_wo_explicit_required�sD���zEComponentsTests.test_registerSubscriptionAdapter_wo_explicit_requiredcCs�ddlm}Gdd�d|�}|d�}|d�}d}d}dd	�}|��}|��\}	}
|	�|j||f||d
d�Wd�n1s@wY|�t|
�d�dS)Nrr]c@r<)zGComponentsTests.test_registerSubscriptionAdapter_wo_event.<locals>.IFooNr=rrrr
r@rAr@r�rbrEcSrNr	rOr�rrr
rQrRzKComponentsTests.test_registerSubscriptionAdapter_wo_event.<locals>._factoryF�rErk)rGr;rr rXr$rh)rr;r@rJr�r\rKrQr/rrrrr
�)test_registerSubscriptionAdapter_wo_events��z9ComponentsTests.test_registerSubscriptionAdapter_wo_eventcCr�r	)rr$r��registeredSubscriptionAdaptersr4rrr
�)test_registeredSubscriptionAdapters_empty'r�z9ComponentsTests.test_registeredSubscriptionAdapters_emptycCs�ddlm}ddlm}Gdd�d|�}|d�}|d�}d}d}Gdd	�d	t�}|��}	|	j||f||d
�|	j||f||d
�t|	���}
|�	t
|
�d�|�t|
d|��|�|
dj
|	u�|�|
dj|u�|�	|
dj|f�|�	|
dj|�|�|
dj|u�|�|
dj|u�|�t|
d|��|�|
dj
|	u�|�|
dj|u�|�	|
dj|f�|�	|
dj|�|�|
dj|u�|�|
dj|u�dS)
Nrr]rZc@r<)zJComponentsTests.test_registeredSubscriptionAdapters_notempty.<locals>.IFooNr=rrrr
r@/rAr@rErbc@r<)zNComponentsTests.test_registeredSubscriptionAdapters_notempty.<locals>._FactoryNr=rrrr
r�5rAr�rFrwrc)rGr;rer[rHrrXr�rbr$rhr'r(rrir�rrErU)rr;r[r@rJr�rKr\r�r/r�rrr
�,test_registeredSubscriptionAdapters_notempty+s6z<ComponentsTests.test_registeredSubscriptionAdapters_notemptycCsRddlm}Gdd�d|�}|d�}|d�}d}|��}|jt|j|||d�dS)Nrr]c@r<)zPComponentsTests.test_unregisterSubscriptionAdapter_w_nonblank_name.<locals>.IFooNr=rrrr
r@OrAr@r��nonblank)r�rir�rGr;rrWrX�unregisterSubscriptionAdapter)rr;r@rJr��	_nonblankr/rrr
�2test_unregisterSubscriptionAdapter_w_nonblank_nameLs

�zBComponentsTests.test_unregisterSubscriptionAdapter_w_nonblank_namecCr�r�)rrWrXrgr4rrr
�?test_unregisterSubscriptionAdapter_neither_factory_nor_providedXr�zOComponentsTests.test_unregisterSubscriptionAdapter_neither_factory_nor_providedcCr�)Nrr]c@r<)z]ComponentsTests.test_unregisterSubscriptionAdapter_neither_factory_nor_required.<locals>.IFooNr=rrrr
r@_rAr@rrfr�rrr
�?test_unregisterSubscriptionAdapter_neither_factory_nor_required]rzOComponentsTests.test_unregisterSubscriptionAdapter_neither_factory_nor_requiredc
Cs�ddlm}Gdd�d|�}|d�}|d�}Gdd�dt�}|��}|��\}}|�|�||f|�}	Wd�n1s=wY|�|	�|�|�dS)Nrr]c@r<)zEComponentsTests.test_unregisterSubscriptionAdapter_miss.<locals>.IFooNr=rrrr
r@hrAr@r�c@r<)zIComponentsTests.test_unregisterSubscriptionAdapter_miss.<locals>._FactoryNr=rrrr
r�lrAr�)rGr;rHrr rgr�rrrr
�'test_unregisterSubscriptionAdapter_missfs�
z7ComponentsTests.test_unregisterSubscriptionAdapter_misscCs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}|d�}Gdd	�d	t�}|��}|�||f|�|�	�\}	}
|	�|�
d|f|�}Wd�n1sQwY|�|�|�|j
j�|�|j�|�t|
�d
�|
d\}}
|\}|�|
i�|�t||��|�t|j|��|�|jj|u�|�|jj|u�|�|jj|f�|�|jjd�|�|jjd�|�|jjdu�dS)Nrr]r�rZc@r<)zOComponentsTests.test_unregisterSubscriptionAdapter_hit_wo_factory.<locals>.IFooNr=rrrr
r@zrAr@r�c@r<)zSComponentsTests.test_unregisterSubscriptionAdapter_hit_wo_factory.<locals>._FactoryNr=rrrr
r�~rAr�rcrb�rGr;rdr�rer[rHrrXr rgr'r�r)rgr-r$rhr(rrir�rrErU�rr;r�r[r@rJr�r�r/rrr�rrrkrrr
�1test_unregisterSubscriptionAdapter_hit_wo_factoryvrzAComponentsTests.test_unregisterSubscriptionAdapter_hit_wo_factorycCr)Nrr]r�rZc@r<)zNComponentsTests.test_unregisterSubscriptionAdapter_hit_w_factory.<locals>.IFooNr=rrrr
r@�rAr@r�c@r<)zRComponentsTests.test_unregisterSubscriptionAdapter_hit_w_factory.<locals>._FactoryNr=rrrr
r��rAr�rcrbrmrnrrr
�0test_unregisterSubscriptionAdapter_hit_w_factory�rz@ComponentsTests.test_unregisterSubscriptionAdapter_hit_w_factorycCr)
Nrr]r�r�rZc@r<)zUComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_provided.<locals>.IFooNr=rrrr
r@�rAr@r�c@r<)zYComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_provided.<locals>._FactoryNr=rrrr
r��rDr�rcrb)rGr;r�rdr�rer[rHrrXr rgr'r$rhr(rrir�rrErU)rr;r�r�r[r@rJr�r�r/rrr�rrrkrrr
�7test_unregisterSubscriptionAdapter_wo_explicit_provided�r
zGComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_providedcr)
Nrr]r�rZc@r<)zUComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_required.<locals>.IFooNr=rrrr
r@�rAr@r�cr�)zYComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_required.<locals>._FactoryNr�rr�rr
r��r�r�rrcrb)rGr;rdr�rer[rHrrXr rgr'r$rhr(rrir�rrErU)rr;r�r[r@rJr�r/rrr�rrrkrr�r
�7test_unregisterSubscriptionAdapter_wo_explicit_required�rzGComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_requiredc	Cs|ddlm}ddlm}Gdd�d|�}|d�}|d�}|��}||�Gdd�dt��}|�}|�t|�|f|��g�dS)	Nrr]r�c@r<)z4ComponentsTests.test_subscribers_empty.<locals>.IFooNr=rrrr
r@�rAr@r�c@r<)z3ComponentsTests.test_subscribers_empty.<locals>.BarNr=rrrr
�Bar�rDrs)rGr;r�rrHr$r��subscribers)	rr;r�r@rJr�r/rs�barrrr
�test_subscribers_empty�sz&ComponentsTests.test_subscribers_emptycsddlm}ddlm}Gdd�d|�}|d�}|d��G�fdd�dt�}Gd	d
�d
|�}|��}|�|�f|�|�|�f|�|��Gdd�dt��}|�}	|�|	f|�}
d
d�}t|
|d�}
|�t	|
�d�|�
t|
d|��|�
t|
d|��dS)Nrr]r�c@r<)z8ComponentsTests.test_subscribers_non_empty.<locals>.IFooNr=rrrr
r@rAr@r�cseZdZ�fZdd�ZdS)z<ComponentsTests.test_subscribers_non_empty.<locals>._FactorycSrr	)rrrrr
r�rzEComponentsTests.test_subscribers_non_empty.<locals>._Factory.__init__N)r%r>r?r�r�rr�rr
r�	sr�c@r<)z<ComponentsTests.test_subscribers_non_empty.<locals>._DerivedNr=rrrr
�_Derived
rArwc@r<)z7ComponentsTests.test_subscribers_non_empty.<locals>.BarNr=rrrr
rsrDrscSs|jjSr	)r�r%��xrrr
�
_klassname�z>ComponentsTests.test_subscribers_non_empty.<locals>._klassnamer�rwrc)rGr;r�rHrrXrtr�r$rhr'r()rr;r�r@rJr�rwr/rsrurtrzrr�r
�test_subscribers_non_emptys&z*ComponentsTests.test_subscribers_non_emptycCsRddlm}Gdd�d|�}|d�}d}|��}dd�}|jt|j|||d�dS)	Nrr]c@r<)zBComponentsTests.test_registerHandler_w_nonblank_name.<locals>.IFooNr=rrrr
r@!rAr@recSrNr	rOr�rrr
rQ&rRzFComponentsTests.test_registerHandler_w_nonblank_name.<locals>._factory�r�r)rGr;rrWrX�registerHandler)rr;r@rJrhr/rQrrr
�$test_registerHandler_w_nonblank_names
�z4ComponentsTests.test_registerHandler_w_nonblank_namecCs�ddlm}ddlm}ddlm}Gdd�d|�}|d�}d}d}d	d
�}|��}	|��\}
}|
�|	j||f|d�Wd�n1sFwY|	j	j
d|d|}|�t|�d�|�
|d|u�|�|	j|f|||fg�|�t|�d�|d\}
}|
\}|�|i�|�
t||��|�
t|j|��|�
|jj|	u�|�|jj|f�|�|jj|�|�
|jj|u�|�
|jj|u�dS)
Nrr]r^��HandlerRegistrationc@r<)zFComponentsTests.test_registerHandler_w_explicit_required.<locals>.IFooNr=rrrr
r@1rAr@rbrEcSrNr	rOr�rrr
rQ6rRzJComponentsTests.test_registerHandler_w_explicit_required.<locals>._factoryrFrc)rGr;rdr_rer�rr r~r)rgr$rhr'r.r(rHrr�rrErU)rr;r_r�r@rJr\rKrQr/rrr�rrrkrrr
�(test_registerHandler_w_explicit_required,s<��z8ComponentsTests.test_registerHandler_w_explicit_requiredc
s�ddlm}Gdd�d|�}|d��d}d}G�fdd�dt�}|��}|��\}}|�|j||d	d
�Wd�n1s?wY|jjd�d|}	|�t	|	�d�|�
|	d|u�|�|j�f|||fg�|�t	|�d�dS)Nrr]c@r<)zPComponentsTests.test_registerHandler_wo_explicit_required_no_event.<locals>.IFooNr=rrrr
r@QrAr@rErbcr�)zTComponentsTests.test_registerHandler_wo_explicit_required_no_event.<locals>._FactoryNr�r�rJrr
r�Vsr�Fr`rc)rGr;rHrr r~r)rgr$rhr'r.)
rr;r@rKr\r�r/rrr�rr�r
�2test_registerHandler_wo_explicit_required_no_eventNs$��zBComponentsTests.test_registerHandler_wo_explicit_required_no_eventcCs|��}|�t|����dSr	)rr�r��registeredHandlersr4rrr
�test_registeredHandlers_emptyesz-ComponentsTests.test_registeredHandlers_emptyc
CsLddlm}ddlm}Gdd�d|�}|d�}dd�}dd	�}|��}|�||f�|�||f�d
d�}t|��|d�}	|�t	|	�d
�|�
t|	d|��|�|	dj|f�|�|	dj
d�|�|	dj|�|�|	djd�|�
t|	d|��|�|	dj|f�|�|	dj
d�|�|	dj|�|�|	djd�dS)Nrr]r�c@r<)z?ComponentsTests.test_registeredHandlers_non_empty.<locals>.IFooNr=rrrr
r@lrAr@cSrNr	rOr�rrr
�	_factory1orRzDComponentsTests.test_registeredHandlers_non_empty.<locals>._factory1cSrNr	rOr�rrr
�	_factory2qrRzDComponentsTests.test_registeredHandlers_non_empty.<locals>._factory2cSs
|jjjSr	)rU�__code__�co_namerxrrr
�
_factory_namevrzHComponentsTests.test_registeredHandlers_non_empty.<locals>._factory_namer�rwrbrc)rGr;rer�rr~r�r�r$rhr'r(r�rrUrE)
rr;r�r@rJr�r�r/r�rtrrr
�!test_registeredHandlers_non_emptyis,z1ComponentsTests.test_registeredHandlers_non_emptycCsJddlm}Gdd�d|�}|d�}d}|��}|jt|j|f|d�dS)Nrr]c@r<)zDComponentsTests.test_unregisterHandler_w_nonblank_name.<locals>.IFooNr=rrrr
r@�rAr@rer})rGr;rrWrX�unregisterHandler)rr;r@rJrhr/rrr
�&test_unregisterHandler_w_nonblank_name�s

�z6ComponentsTests.test_unregisterHandler_w_nonblank_namecCs|��}|�t|j�dSr	)rrWrXr�r4rrr
�3test_unregisterHandler_neither_factory_nor_required�szCComponentsTests.test_unregisterHandler_neither_factory_nor_requiredcCsHddlm}Gdd�d|�}|d�}|��}|j|fd�}|�|�dS)Nrr]c@r<)z9ComponentsTests.test_unregisterHandler_miss.<locals>.IFooNr=rrrr
r@�rAr@�r�)rGr;rr�r�)rr;r@rJr/r�rrr
�test_unregisterHandler_miss�sz+ComponentsTests.test_unregisterHandler_misscCsDddlm}ddlm}ddlm}Gdd�d|�}|d�}|��}dd�}|��}|�||f�|��\}}	|�|�	||f�}
Wd�n1sKwY|�
|
�|�t|	�d	�|	d\}}|\}
|�|i�|�
t
|
|��|�
t
|
j|��|�
|
jj|u�|�|
jj|f�|�|
jjd
�|�
|
jj|u�dS)Nrr]r�r�c@r<)zXComponentsTests.test_unregisterHandler_hit_w_factory_and_explicit_provided.<locals>.IFooNr=rrrr
r@�rAr@cSrNr	rOr�rrr
rQ�rRz\ComponentsTests.test_unregisterHandler_hit_w_factory_and_explicit_provided.<locals>._factoryrcrb�rGr;rdr�rer�rr~r r�r'r$rhr(rHrr�rrU�rr;r�r�r@rJr/rQrrr�rrrkrrr
�:test_unregisterHandler_hit_w_factory_and_explicit_provided��0�
zJComponentsTests.test_unregisterHandler_hit_w_factory_and_explicit_providedcCsDddlm}ddlm}ddlm}Gdd�d|�}|d�}|��}dd�}|��}|�||f�|��\}}	|�|j	|fd	�}
Wd�n1sKwY|�
|
�|�t|	�d
�|	d\}}|\}
|�|i�|�
t
|
|��|�
t
|
j|��|�
|
jj|u�|�|
jj|f�|�|
jjd�|�
|
jjdu�dS)Nrr]r�r�c@r<)zQComponentsTests.test_unregisterHandler_hit_w_only_explicit_provided.<locals>.IFooNr=rrrr
r@�rAr@cSrNr	rOr�rrr
rQ�rRzUComponentsTests.test_unregisterHandler_hit_w_only_explicit_provided.<locals>._factoryr�rcrbr�r�rrr
�3test_unregisterHandler_hit_w_only_explicit_provided�r�zCComponentsTests.test_unregisterHandler_hit_w_only_explicit_providedc
sPddlm}ddlm}ddlm}Gdd�d|�}|d��G�fdd�dt�}|��}|�|�|�	�\}}|�
|�
|�}	Wd�n1sIwY|�|	�|�t
|�d	�|d\}
}|
\}|�|i�|�t||��|�t|j|��|�|jj|u�|�|jj�f�|�|jjd
�|�|jjd
�|�|jj|u�dS)Nrr]r�r�c@r<)zIComponentsTests.test_unregisterHandler_wo_explicit_required.<locals>.IFooNr=rrrr
r@�rAr@cr�)zMComponentsTests.test_unregisterHandler_wo_explicit_required.<locals>._FactoryNr�rr�rr
r��r�r�rcrb)rGr;rdr�rer�rHrr~r r�r'r$rhr(rr�rrErU)
rr;r�r�r@r�r/rrr�rrrkrr�r
�+test_unregisterHandler_wo_explicit_required�s0
�
z;ComponentsTests.test_unregisterHandler_wo_explicit_requiredcCsfddlm}ddlm}Gdd�d|�}|d�}|��}||�Gdd�dt��}|�}|�|f�dS)Nrr]r�c@r<)z/ComponentsTests.test_handle_empty.<locals>.IFooNr=rrrr
r@�rAr@c@r<)z.ComponentsTests.test_handle_empty.<locals>.BarNr=rrrr
rs�rDrs)rGr;r�rrH�handle)rr;r�r@rJr/rsrurrr
�test_handle_empty�sz!ComponentsTests.test_handle_emptyc
s�ddlm}ddlm}Gdd�d|�}|d�}g��fdd�}g��fdd	�}|��}|�||f�|�||f�||�Gd
d�dt��}|�}	|�|	�|��|	g�|��|	g�dS)Nrr]r�c@r<)z3ComponentsTests.test_handle_non_empty.<locals>.IFooNr=rrrr
r@�rAr@c���|�dSr	rr�)�	_called_1rr
�
_factory_1	rCz9ComponentsTests.test_handle_non_empty.<locals>._factory_1cr�r	rr�)�	_called_2rr
�
_factory_2	rCz9ComponentsTests.test_handle_non_empty.<locals>._factory_2c@r<)z2ComponentsTests.test_handle_non_empty.<locals>.BarNr=rrrr
rs	rDrs)rGr;r�rr~rHr�r$)
rr;r�r@rJr�r�r/rsrur)r�r�r
�test_handle_non_empty�s"
z%ComponentsTests.test_handle_non_emptyTcCs�Gdd�dt�}|��}t�}|r|nt�}|j||d�|j||dd�|�t|jj�d�|�|jj|d|r;|fn||fiig�|�|jj||rMdnd	i�|j	||d�}|�
|�|j	||dd�}|�
|�|�|jji�|�t|jj�d
�dS)Nc@r<)zQComponentsTests.test_register_unregister_identical_objects_provided.<locals>.IFooNr=rrrr
r@	rAr@rrur�rcrbr��r)rrrHrIr$rhr*rgZ	_providedr�r')r�	identicalr@r/�first�second�resrrr
�3test_register_unregister_identical_objects_provided	s&
�
�

zCComponentsTests.test_register_unregister_identical_objects_providedcCs|jdd�dS)NF)r�)r�r
rrr
�2test_register_unregister_nonequal_objects_provided/	szBComponentsTests.test_register_unregister_nonequal_objects_providedcCs�Gdd�dt�}Gdd�dt�}|��}td�D]}|j|�|d|fd�q|jj}|jj}|�t	|�d�|�t	|d	�d�|�t	|d	|�d�|jj
}|�t	|�d�|�t	|d	�d�|�t	|d	|�d�|�t	|d	|d
�d�t|��}|j_|�i�i}	|d	|<td�D]}
td
�t
|
��}
|d	||
|	|
<q�|�||�t|��}|j_
|�i�i}	|d	|<d|	d
<td
d�D]}
td
�t
|
��}
|d	||
}|	d
|f7<q�|��}
|�|jj|�|�|
ddddd��|jdd�}|�|jj|d�|�|
|�|�||�|�t	|d	|d
�t	|d	|d
��|d	|d
D]}|�||d	|d
��q>|��}|�|dd	dd	d��|jdd�}|�||�|�|jj|d�dS)Nc@�eZdZdZdS)zGComponentsTests.test_rebuildUtilityRegistryFromLocalCache.<locals>.IFoo�Does nothingN�r%r>r?�__doc__rrrr
r@3	�r@c@r�)zYComponentsTests.test_rebuildUtilityRegistryFromLocalCache.<locals>.UtilityImplementingFoor�Nr�rrrr
�UtilityImplementingFoo6	r�r��z%sr�rcrrb�
r�����)Zdid_not_registerZneeded_registeredZdid_not_subscribeZneeded_subscribedT)Zrebuild)rrHr�rangerIr*Z_generationrfr$rhrg�typer�strZassertNotEqualZ$rebuildUtilityRegistryFromLocalCache�assertIn)rr@r��comps�iZorig_generationZ
orig_adaptersZorig_subscribersZnew_adapters�drZnew_subscribersr/Zrebuild_results_preflightZrebuild_resultsZorig_subscriberZpreflight_afterZ
rebuild_afterrrr
�)test_rebuildUtilityRegistryFromLocalCache2	st

�	��z9ComponentsTests.test_rebuildUtilityRegistryFromLocalCache)r)T)vr%r>r?rrr r0r2r5r8rLr[rlrprqrtrvryrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	r
rrrrrr!r$r0r3r<r=rErHrIr,rNrPrSrWrYr]r^r_rarcrdrirjrkrlrorprqrrrvr|rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r
rs�
  )"#	
	
#'#*$	  "	,2
/#$'%!	   "	
rcseZdZ�fdd�Z�ZS)�UnhashableComponentsTestscs Gdd�dtt|���t�}|S)Nc@r<)z=UnhashableComponentsTests._getTargetClass.<locals>.ComponentsNr=rrrr
r�	rAr)r�r�rr�)rrr�rr
r�	sz)UnhashableComponentsTests._getTargetClass)r%r>r?rr�rrr�r
r��	sr�c@s�eZdZdd�Zd6dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�ZdS)7�UtilityRegistrationTestscC�ddlm}|S)Nrr`)rera)rrarrr
r�	�z(UtilityRegistrationTests._getTargetClassNcCsbddlm}Gdd�d|�}|d�}Gdd�dt�}|�}d}d	}	|��}
|
|||||	|�||fS)
Nrr]c@r<)zAUtilityRegistrationTests._makeOne.<locals>.InterfaceClassSubclassNr=rrrr
�InterfaceClassSubclass�	rAr�r@c@r)z4UtilityRegistrationTests._makeOne.<locals>._RegistrycS�dS�NZ	_REGISTRYrr
rrr
�__repr__�	rz=UtilityRegistrationTests._makeOne.<locals>._Registry.__repr__N�r%r>r?r�rrrr
�	_Registry�	rr�r�	DOCSTRING�rGr;rHr)rrTrUr;r�rJr�rr�doc�klassrrr
r�	s�z!UtilityRegistrationTests._makeOnecC�*ddlm}ddlm}|||���dS)Nr��verifyClass��IUtilityRegistration)�zope.interface.verifyr�rdr�r)rr�r�rrr
�+test_class_conforms_to_IUtilityRegistration�	�zDUtilityRegistrationTests.test_class_conforms_to_IUtilityRegistrationcC�4ddlm}ddlm}|��\}}}|||�dS)Nr��verifyObjectr�)r�r�rdr�r)rr�r��ur�_rrr
�.test_instance_conforms_to_IUtilityRegistration�	�zGUtilityRegistrationTests.test_instance_conforms_to_IUtilityRegistrationcC�>Gdd�dt�}|�}|�|�\}}}|�t|�d|�dS)Nc@�eZdZdZdS)z:UtilityRegistrationTests.test___repr__.<locals>._Component�TESTNr=rrrr
�
_Component�	r�r�zAUtilityRegistration(_REGISTRY, IFoo, %r, TEST, None, 'DOCSTRING')�rHrr$r3�rr��
_componentr��	_registryrjrrr
r5�	�
��z&UtilityRegistrationTests.test___repr__cC�FGdd�dt�}|�}|�|�\}}}t�|_|�t|�d|�dS)Nc@r)zKUtilityRegistrationTests.test___repr___provided_wo_name.<locals>._ComponentcSr��Nr�rr
rrr
r��	rzTUtilityRegistrationTests.test___repr___provided_wo_name.<locals>._Component.__repr__Nr�rrrr
r��	rr��AUtilityRegistration(_REGISTRY, None, %r, TEST, None, 'DOCSTRING')�rHrrir$r3r�rrr
�test___repr___provided_wo_name�	�
��z7UtilityRegistrationTests.test___repr___provided_wo_namecCr�)Nc@r)zLUtilityRegistrationTests.test___repr___component_wo_name.<locals>._ComponentcSr�r�rr
rrr
r��	rzUUtilityRegistrationTests.test___repr___component_wo_name.<locals>._Component.__repr__Nr�rrrr
r��	rr�r�r�r�rrr
�test___repr___component_wo_name�	r�z8UtilityRegistrationTests.test___repr___component_wo_namecC�.t�}|�|�\}}}|�|��t|��dSr	�rHrr$�__hash__�id�rr�r�r�rjrrr
�
test___hash__�	�z&UtilityRegistrationTests.test___hash__cC�(t�}|�|�\}}}|�||k�dSr	�rHrr'r�rrr
�test___eq___identity�	�z-UtilityRegistrationTests.test___eq___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	r��rr�r�r�rj�ur2r�rrr
�test___eq___hit�	�z(UtilityRegistrationTests.test___eq___hitcC�>t�}t�}|�|�\}}}|�|�\}}}|�||k�dSr	�rHrr��rr��_component2r�r�rjr�r�rrr
�test___eq___miss�	�
z)UtilityRegistrationTests.test___eq___misscC�(t�}|�|�\}}}|�||k�dSr	r�r�rrr
�test___ne___identity�	r�z-UtilityRegistrationTests.test___ne___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	r�r�rrr
�test___ne___hit�	r�z(UtilityRegistrationTests.test___ne___hitcC�>t�}t�}|�|�\}}}|�|�\}}}|�||k�dSr	r�r�rrr
�test___ne___miss�	r�z)UtilityRegistrationTests.test___ne___misscC�(t�}|�|�\}}}|�||k�dSr	r�r�rrr
�test___lt___identity
r�z-UtilityRegistrationTests.test___lt___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	r�r�rrr
�test___lt___hit
r�z(UtilityRegistrationTests.test___lt___hitcC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dS�N�2�rHrrr'r�rrr
�test___lt___miss
�
z)UtilityRegistrationTests.test___lt___misscC�(t�}|�|�\}}}|�||k�dSr	r�r�rrr
�test___le___identity
r�z-UtilityRegistrationTests.test___le___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	r�r�rrr
�test___le___hit
r�z(UtilityRegistrationTests.test___le___hitcC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr
rr�rrr
�test___le___miss 
rz)UtilityRegistrationTests.test___le___misscC�(t�}|�|�\}}}|�||k�dSr	r�r�rrr
�test___gt___identity(
r�z-UtilityRegistrationTests.test___gt___identitycC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr
rr�rrr
�test___gt___hit-
rz(UtilityRegistrationTests.test___gt___hitcC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	r�r�rrr
�test___gt___miss5
r�z)UtilityRegistrationTests.test___gt___misscC�(t�}|�|�\}}}|�||k�dSr	r�r�rrr
�test___ge___identity;
r�z-UtilityRegistrationTests.test___ge___identitycC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr
�rHrrr�r�rrr
�test___ge___miss@
rz)UtilityRegistrationTests.test___ge___misscC�Bt�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr
rr�rrr
�test___ge___hitH
�

z(UtilityRegistrationTests.test___ge___hit)NN)r%r>r?rrr�r�r5r�r�r�r�r�r�rrrrrr
rrrrrrrrr!rrrr
r��	s6
	r�c@s�eZdZdd�Zd:dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�ZdS);�AdapterRegistrationTestscCr�)Nrr�)rer�)rr�rrr
rR
r�z(AdapterRegistrationTests._getTargetClassNcC�lddlm}Gdd�d|�}|d�}|d�}Gdd�dt�}|�}d}d	}	|��}
|
||f||||	�||fS)
Nrr]c@r<)z/AdapterRegistrationTests._makeOne.<locals>.IFooNr=rrrr
r@Y
rAr@r�c@r)z4AdapterRegistrationTests._makeOne.<locals>._RegistrycSr�r�rr
rrr
r�^
rz=AdapterRegistrationTests._makeOne.<locals>._Registry.__repr__Nr�rrrr
r�]
rr�rr�r��rrTr;r@rJr�r�rrr�r�rrr
rV
��z!AdapterRegistrationTests._makeOnecCr�)Nrr���IAdapterRegistration)r�r�rdr(r)rr�r(rrr
�+test_class_conforms_to_IAdapterRegistrationi
r�zDAdapterRegistrationTests.test_class_conforms_to_IAdapterRegistrationcCr�)Nrr�r')r�r�rdr(r)rr�r(�arr�rrr
�.test_instance_conforms_to_IAdapterRegistrationn
r�zGAdapterRegistrationTests.test_instance_conforms_to_IAdapterRegistrationcCr�)Nc@r�)z:AdapterRegistrationTests.test___repr__.<locals>._Componentr�Nr=rrrr
r�u
r�r�zCAdapterRegistration(_REGISTRY, [IBar], IFoo, %r, TEST, 'DOCSTRING')r��rr�r�r*r�rjrrr
r5t
r�z&AdapterRegistrationTests.test___repr__cCr�)Nc@r)zKAdapterRegistrationTests.test___repr___provided_wo_name.<locals>._ComponentcSr�r�rr
rrr
r�
rzTAdapterRegistrationTests.test___repr___provided_wo_name.<locals>._Component.__repr__Nr�rrrr
r�~
rr��CAdapterRegistration(_REGISTRY, [IBar], None, %r, TEST, 'DOCSTRING')r�r,rrr
r�}
r�z7AdapterRegistrationTests.test___repr___provided_wo_namecCr�)Nc@r)zLAdapterRegistrationTests.test___repr___component_wo_name.<locals>._ComponentcSr�r�rr
rrr
r��
rzUAdapterRegistrationTests.test___repr___component_wo_name.<locals>._Component.__repr__Nr�rrrr
r��
rr�r-r�r,rrr
r��
r�z8AdapterRegistrationTests.test___repr___component_wo_namecCr�r	r��rr�r*r�rjrrr
r��
r�z&AdapterRegistrationTests.test___hash__cCr�r	r�r.rrr
r��
r�z-AdapterRegistrationTests.test___eq___identitycCr�r	r��rr�r*r�rj�ar2r�rrr
r��
r�z(AdapterRegistrationTests.test___eq___hitcCr�r	r��rr�r�r*r�rjr0r�rrr
r��
r�z)AdapterRegistrationTests.test___eq___misscCr�r	r�r.rrr
r�
r�z-AdapterRegistrationTests.test___ne___identitycCrr	r�r/rrr
r�
r�z)AdapterRegistrationTests.test___ne___misscCrr	r�r1rrr
�test___ne___hit_component�
r�z2AdapterRegistrationTests.test___ne___hit_componentc
Csbddlm}Gdd�d|�}|d�}t�}|�|�\}}}|�|�\}}	}	||_|�||k�dS)Nrr]c@r<)z?AdapterRegistrationTests.test___ne___hit_provided.<locals>.IFooNr=rrrr
r@�
rAr@r4)rGr;rHrrir')
rr;r@r9r�r*r�rjr0r�rrr
�test___ne___hit_provided�
sz1AdapterRegistrationTests.test___ne___hit_providedcCsjddlm}Gdd�d|�}|d�}t�}t�}|�|�\}}}|�|�\}	}
}
|f|	_|�||	k�dS)Nrr]c@r<)z?AdapterRegistrationTests.test___ne___hit_required.<locals>.IFooNr=rrrr
r@�
rAr@r4)rGr;rHrr�r')rr;r@r9r�r�r*r�rjr0r�rrr
�test___ne___hit_required�
sz1AdapterRegistrationTests.test___ne___hit_requiredcCrr	r�r.rrr
r�
r�z-AdapterRegistrationTests.test___lt___identitycCrr	r�r/rrr
r�
r�z(AdapterRegistrationTests.test___lt___hitcCr	r
rr1rrr
r
�
rz)AdapterRegistrationTests.test___lt___misscCrr	r�r.rrr
r�
r�z-AdapterRegistrationTests.test___le___identitycCrr	r�r/rrr
r�
r�z(AdapterRegistrationTests.test___le___hitcCrr
rr1rrr
r�
rz)AdapterRegistrationTests.test___le___misscCrr	r�r.rrr
r�
r�z-AdapterRegistrationTests.test___gt___identitycCrr
rr1rrr
r�
rz(AdapterRegistrationTests.test___gt___hitcCrr	r�r/rrr
rr�z)AdapterRegistrationTests.test___gt___misscCrr	r�r.rrr
rr�z-AdapterRegistrationTests.test___ge___identitycCrr
rr1rrr
rrz)AdapterRegistrationTests.test___ge___misscCr r
rr/rrr
r!r"z(AdapterRegistrationTests.test___ge___hitr	)r%r>r?rrr)r+r5r�r�r�r�r�r�rrr2r3r4rrr
rrrrrrrrr!rrrr
r#P
s:
	r#c@s.eZdZdd�Zd
dd�Zdd�Zdd	�ZdS)�SubscriptionRegistrationTestscCr�)NrrZ)rer[)rr[rrr
r#r�z-SubscriptionRegistrationTests._getTargetClassNcCr$)
Nrr]c@r<)z4SubscriptionRegistrationTests._makeOne.<locals>.IFooNr=rrrr
r@*rAr@r�c@r)z9SubscriptionRegistrationTests._makeOne.<locals>._RegistrycSr�r�rr
rrr
r�/rzBSubscriptionRegistrationTests._makeOne.<locals>._Registry.__repr__Nr�rrrr
r�.rr�rr�r�r%rrr
r'r&z&SubscriptionRegistrationTests._makeOnecCr�)Nrr��� ISubscriptionAdapterRegistration)r�r�rdr7r)rr�r7rrr
�7test_class_conforms_to_ISubscriptionAdapterRegistration:r�zUSubscriptionRegistrationTests.test_class_conforms_to_ISubscriptionAdapterRegistrationcCr�)Nrr�r6)r�r�rdr7r)rr�r7Zsarr�rrr
�:test_instance_conforms_to_ISubscriptionAdapterRegistration?r�zXSubscriptionRegistrationTests.test_instance_conforms_to_ISubscriptionAdapterRegistrationr	)r%r>r?rrr8r9rrrr
r5!s

r5c@sFeZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dS)�HandlerRegistrationTestscCr�)Nrr�)rer�)rr�rrr
rHr�z(HandlerRegistrationTests._getTargetClassNc
Csbddlm}Gdd�d|�}|d�}Gdd�dt�}|�}d}d}|��}	|	||f|||�||fS)	Nrr]c@r<)z/HandlerRegistrationTests._makeOne.<locals>.IFooNr=rrrr
r@OrAr@c@r)z4HandlerRegistrationTests._makeOne.<locals>._RegistrycSr�r�rr
rrr
r�Srz=HandlerRegistrationTests._makeOne.<locals>._Registry.__repr__Nr�rrrr
r�Rrr�rr�r�)
rrTr;r@rJr�rrr�r�rrr
rLs�z!HandlerRegistrationTests._makeOnecCr�)Nrr���IHandlerRegistration)r�r�rdr<r)rr�r<rrr
�+test_class_conforms_to_IHandlerRegistration^r�zDHandlerRegistrationTests.test_class_conforms_to_IHandlerRegistrationcCr�)Nrr�r;)r�r�rdr<r)rr�r<�hrr�rrr
�.test_instance_conforms_to_IHandlerRegistrationcr�zGHandlerRegistrationTests.test_instance_conforms_to_IHandlerRegistrationcCsNdd�}|�|�\}}}|�|j|u�|�|j|ju�|�|jdu�dS)NcSrNr	rOr�rrr
rQjrRz:HandlerRegistrationTests.test_properties.<locals>._factory)rr'ZhandlerrUri)rrQr>r�rrr
�test_propertiesis
z(HandlerRegistrationTests.test_propertiescC�:Gdd�dt�}|�|��\}}}|�t|�d|�dS)Nc@r�)zGHandlerRegistrationTests.test___repr___factory_w_name.<locals>._Factoryr�Nr=rrrr
r�rr�r��=HandlerRegistration(_REGISTRY, [IFoo], %r, TEST, 'DOCSTRING')r��rr�r>r�rjrrr
�test___repr___factory_w_nameqs
��z5HandlerRegistrationTests.test___repr___factory_w_namecCrA)Nc@r)zHHandlerRegistrationTests.test___repr___factory_wo_name.<locals>._FactorycSr�r�rr
rrr
r�{rzQHandlerRegistrationTests.test___repr___factory_wo_name.<locals>._Factory.__repr__Nr�rrrr
r�zrr�rBr�rCrrr
�test___repr___factory_wo_nameys
��z6HandlerRegistrationTests.test___repr___factory_wo_namer	)
r%r>r?rrr=r?r@rDrErrrr
r:Fs
r:c@seZdZdd�Zdd�ZdS)�PersistentAdapterRegistrycCsF|j��}t|�D]}||jvs|�d�r|�|�q	|�dd�|S)NZ_v�ro)�__dict__�copyr�Z
_delegated�
startswith�pop)r�state�krrr
�__getstate__�s

�z&PersistentAdapterRegistry.__getstate__cCs6|�dd�}|j�|�|��||_|j�|�dS)Nr&r)rKrH�updateZ
_createLookupr&rLrK)rrL�basesrrr
�__setstate__�s
z&PersistentAdapterRegistry.__setstate__N)r%r>r?rNrQrrrr
rF�srFc@r)�PersistentComponentscCst�|_t�|_dSr	)rFr)r*r
rrr
�_init_registries�sz%PersistentComponents._init_registriesN)r%r>r?rSrrrr
rR�srRc@r<)�PersistentDictComponentsNr=rrrr
rT�rDrTc@r)�PersistentComponentsDictcCst�|�t�||�dSr	)r�r�rR)rrrrr
r��s
z!PersistentComponentsDict.__init__Nrrrrr
rU��rUc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestPersistentComponentscCstd�S)Nr)rRr
rrr
r�r{z!TestPersistentComponents._makeOnecCsdSr	r�rZmaderrr
�_check_equality_after_pickle�rz5TestPersistentComponents._check_equality_after_picklecCs<ddl}|��}|�|�|�|�|��}|�|jd�dS�Nrr)�pickler�dumps�loadsr$r%)rr[r/�comp2rrr
�test_pickles_empty�s

z+TestPersistentComponents.test_pickles_emptycCs�ddl}|��}t�}|�|t�|�||�t��|�|�|��}|�	|j
d�|�|�t��|�|t�|�||�t��|�|�dSrZ)
r[rrHrIrr#r�r]r\r$r%ZassertIsNotNonerY)rr[r/Zutilityr^rrr
�&test_pickles_with_utility_registration�s*����z?TestPersistentComponents.test_pickles_with_utility_registrationN)r%r>r?rrYr_r`rrrr
rW�s
rWc@�$eZdZdd�Zdd�Zdd�ZdS)�TestPersistentDictComponentscCrr	)rTr
rrr
r�rz,TestPersistentDictComponents._getTargetClasscCs|��dd�}d|d<|S)Nrr��*r�rr4rrr
r�sz%TestPersistentDictComponents._makeOnecCs |�d|�|�|dd�dS)Nr�rc)r�r$rXrrr
rY�sz9TestPersistentDictComponents._check_equality_after_pickleN)r%r>r?rrrYrrrr
rb�srbc@r)�TestPersistentComponentsDictcCrr	)rUr
rrr
r�rz,TestPersistentComponentsDict._getTargetClassN)r%r>r?rrrrr
rd�rVrdc@ra)rcs@�|_t�fdd�|D��|_|��D]
\}}t�||�qdS)Ncsg|]	}|t�|�f�qSr)�getattr)�.0r���modulerr
�
<listcomp>�sz$_Monkey.__init__.<locals>.<listcomp>)rhr��
to_restore�items�setattr)rrhrr��valuerrgr
r��s
�z_Monkey.__init__cCs|Sr	rr
rrr
�	__enter__�rz_Monkey.__enter__cCs&|j��D]\}}t|j||�qdSr	)rjrkrlrh)r�exc_typeZexc_val�exc_tbr�rmrrr
�__exit__�s�z_Monkey.__exit__N)r%r>r?r�rnrqrrrr
r�sr)r�Zunittestrrr#rrerZTestCaserr�r�r#r5r:rFrRr�rTrUrWrbrdrHrrrrr
�<module>sP

;R%<+

Youez - 2016 - github.com/yon3zu
LinuXploit