AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
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 :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

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)�notify)�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+)rr2r0rrr
�test_ctor_w_base5s
z ComponentsTests.test_ctor_w_basecCs|�d�}|�t|�d�dS)Nr#z<Components testing>)rr%�repr�rr0r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+)rr7r8r0r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�rA�fooc@r=)zEComponentsTests.test_registerUtility_with_component_name.<locals>.FooNr>rrrr
�FooV�rD�info�rF)�zope.interface.declarationsr;r<�objectr�registerUtilityr%r,)	rr;r<rA�ifoorDrC�_infor0r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�rIr�assertRaises�	TypeErrorrJ�rrR�_to_regr0r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
rAorBrArFr��)rHr<�zope.interface.interfacesr`�zope.interface.registryrbrIrr!rJr(r+�	_adaptersr%r,�_subscribers�lenr)r�providedrrUrFrV)rr<r`rbrArKrL�_namer[r0r rrr�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_rac@r=)z<ComponentsTests.test_registerUtility_w_factory.<locals>.IFooNr>rrrr
rA�rBrArFrc��Sr	rr�r[rr
rR�rz@ComponentsTests.test_registerUtility_w_factory.<locals>._factory�rVrd)rHr<rer`rfrbrIrr!rJr%rir(r)rrjrrUrFrV)rr<r`rbrArKrLrkrRr0r rrrrlrror
�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
rD�rBrDrFrrW)rrDrLrkr[r0r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_rac@r=)z>ComponentsTests.test_registerUtility_wo_provided.<locals>.IFooNr>rrrr
rA�rBrAc@r=)z=ComponentsTests.test_registerUtility_wo_provided.<locals>.FooNr>rrrr
rD�rBrDrFrrd)rHrtr<rer`rfrbrIrr!rJr%rir(r)rrjrrUrFrV)rrtr<r`rbrArDrKrLrkr[r0r rrrrlr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
rA�rBrArFr)rHr<rIrrJr!r%ri�
rr<rArKrLrkr[r0r rr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
rA�rBrA�info1�info2r�rc�rHr<rIrrJr!r%rir,r+rh)rr<rArK�_info1�_info2rkr[r0r rr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
rA�rBrArF�name1�name2rdrcr{�rr<rArKrL�_name1�_name2�
_other_regr[r0r rr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_rac@r=)zHComponentsTests.test_registerUtility_replaces_existing_reg.<locals>.IFooNr>rrrr
rArBrArFrrzrd)rHr<rer�r`rfrbrIrrJr!r%rir(r)rrjrrUrFrV)rr<r�r`rbrArKrLrk�_before�_afterr0r rrrrlr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
rA<rBrArFrr�rc)	rHr<rIrrJr!r%r+rh�rr<rArKrLr�r�r[r0r rr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
rAMrBrArFrF)rHr<rIrr!rJr%rirvr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)Nrd)�	reg_count�superrJ�dictr,�rr)�CompThatChangesAfter1Reg�	__class__rr
rJ^s

�ztComponentsTests.test_registerUtility_changes_object_identity_after.<locals>.CompThatChangesAfter1Reg.registerUtility�r&r?r@r�rJ�
__classcell__r�r��r�r
r�\�r�rdc@r=)zPComponentsTests.test_registerUtility_changes_object_identity_after.<locals>.IFooNr>rrrr
rAirBrArz�rrJrIrr%ri�list�registeredUtilities)rr0rAr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)Nrdrz)r�r�r,r�rJr�)�CompThatChangesAfter2Regr�rr
rJts
zuComponentsTests.test_registerUtility_changes_object_identity_before.<locals>.CompThatChangesAfter2Reg.registerUtilityr�r�r�r�r
r�rr�r�rdc@r=)zQComponentsTests.test_registerUtility_changes_object_identity_before.<locals>.IFooNr>rrrr
rA�rBrArzc@r=)zQComponentsTests.test_registerUtility_changes_object_identity_before.<locals>.IBarNr>rrrr
�IBar�rBr��r�)rr0rAr�rr�r
�3test_registerUtility_changes_object_identity_beforeos	zCComponentsTests.test_registerUtility_changes_object_identity_beforecCs"|��}|jt|jdddd�dS)N)rUrjrV)rrXrY�unregisterUtilityr5rrr
�Atest_unregisterUtility_neither_factory_nor_component_nor_provided�s

�zQComponentsTests.test_unregisterUtility_neither_factory_nor_component_nor_providedcCrN)NcSrOr	rPrrrr
rR�rSzSComponentsTests.test_unregisterUtility_both_factory_and_component.<locals>._factoryrT)rIrrXrYr�rZr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
rA�rBrAr)rHr<rIrr!r��assertFalse)
rr<rArKrkr[r0r r�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�rac@r=)z@ComponentsTests.test_unregisterUtility_w_component.<locals>.IFooNr>rrrr
rA�rBrArrd)rHr<rer�rfrbrIrrJr!r�r(r�r+rgr,rhr%rir)rrjrrUrV)rr<r�rbrArKrkr[r0r rr�rrrlr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�rac@r=)z>ComponentsTests.test_unregisterUtility_w_factory.<locals>.IFooNr>rrrr
rA�rBrArFrcrnr	rrrorr
rR�rzBComponentsTests.test_unregisterUtility_w_factory.<locals>._factoryrprd)rHr<rer�rfrbrIrrJr!r�r(r%rir)rrjrrUrV)rr<r�rbrArKrLrkrRr0r rr�rrrlrror
� 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)
Nrrsr^r�rac@r=)zIComponentsTests.test_unregisterUtility_wo_explicit_provided.<locals>.IFooNr>rrrr
rA�rBrAc@r=)zHComponentsTests.test_unregisterUtility_wo_explicit_provided.<locals>.FooNr>rrrr
rD�rBrDrFrrd�rHrtr<rer�rfrbrIrrJr!r�r(r%rir)rrjrrUrFrV�rrtr<r�rbrArDrKrLrkr[r0r rr�rrrlr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)Nrrsr^r�rac@r=)zLComponentsTests.test_unregisterUtility_wo_component_or_factory.<locals>.IFooNr>rrrr
rArBrAc@r=)zKComponentsTests.test_unregisterUtility_wo_component_or_factory.<locals>.FooNr>rrrr
rDrBrDrFr�rjrrdr�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
rA0rBrArFrr�rc�
rHr<rIrrJr!r�r%r+rhr�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
rABrBrArFrr�rc)
rHr<r�rrJr!r�r%r+rhr�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
rAWrBrArFrr�rc)rHr<rfr�r�rrJr!r�r%r+rh)rr<r�rArKrLr�r�r[r0r rr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
rAlrBrArFrr�r2)rHr<r�rrJ�__init__r!r�r%rir+rhr�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
rA�rBrArFrr�rcr�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
rA�rBrArFrr�rc)rHr<rIr�rrJr!r�r%r+rhr�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�r5r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^rac@r=)z?ComponentsTests.test_registeredUtilities_notempty.<locals>.IFooNr>rrrr
rA�rBrArFrr�cS�|jSr	�r��rrrr
�<lambda>��zCComponentsTests.test_registeredUtilities_notempty.<locals>.<lambda>��keyrzrd)rHr<rfrbrIrrJ�sortedr�r%rir(r)rrjrrUrFrV)rr<rbrArKrLr�r�r[r0�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
rA�rBrA)rHr<rr(�queryUtility�rr<rArKr0r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
rA�rBrA��default)rHr<rrIr(r�)rr<rArKr0�_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
rA�rBrA)rHr<rIrrJr(r��rr<rArKr[r0r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
rA�rBrA)rHr<rer�rrX�
getUtility)rr<r�rArKr0rrr
�test_getUtility_miss�sz$ComponentsTests.test_getUtility_misscCr�)Nrr^c@r=)z1ComponentsTests.test_getUtility_hit.<locals>.IFooNr>rrrr
rA�rBrA)rHr<rIrrJr(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
rA�rBrA)rHr<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
rArBrArr�r�)rHr<rIrrJr%r�r��rr<rArKr�r�r[r0rrr
�test_getUtilitiesFor_hits�z(ComponentsTests.test_getUtilitiesFor_hitcCr�)Nrr^c@r=)zDComponentsTests.test_getAllUtilitiesRegisteredFor_miss.<locals>.IFooNr>rrrr
rArBrA)rHr<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
rArBrArr�r�)rHr<rIrrJr%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)Nrr:c@r=)zFComponentsTests.test_registerAdapter_with_component_name.<locals>.IFooNr>rrrr
rA/rBrAr�rCc@r=)zEComponentsTests.test_registerAdapter_with_component_name.<locals>.FooNr>rrrr
rD4rErDrFrG)rHr;r<rIr�registerAdapterr%r-)	rr;r<rArK�ibarrDrLr0r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
rAErBrAr�rFrcSrOr	rP��contextrrr
rRLrSzWComponentsTests.test_registerAdapter_w_explicit_provided_and_required.<locals>._factoryrd)rHr<rer`rfr�rr!r�r(r*rgr%r-rir)rIrrj�requiredrrFrV)rr<r`r�rArKr�rLrkrRr0r rrrrlr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
rAfrBrAr�rFrc@r=)zLComponentsTests.test_registerAdapter_no_provided_available.<locals>._FactoryNr>rrrr
�_FactorymrBr��rrF�rHr<rIrrXrYr�)rr<rAr�rLrkr�r0r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
rAzrBrAr�rFrc@r=)zKComponentsTests.test_registerAdapter_wo_explicit_provided.<locals>._FactoryNr>rrrr
r��rEr�r�rd)rHr<r�rer`rfr�rIrr!r�r(r*rgr%r-rir)rrjr�rrFrV)rr<r�r`r�rArKr�rLrkr[r�r0r rrrrlr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
rA�rBrArFrc@r=)zLComponentsTests.test_registerAdapter_no_required_available.<locals>._FactoryNr>rrrr
r��rBr��rjrrFr��rr<rArKrLrkr�r0r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
rA�rBrAr�rFrc@r=)zIComponentsTests.test_registerAdapter_w_invalid_required.<locals>._FactoryNr>rrrr
r��rBr�r�r�)	rr<rArKr�rLrkr�r0r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
rA�rBrArFrc@r=)zQComponentsTests.test_registerAdapter_w_required_containing_None.<locals>._FactoryNr>rrrr
r��rBr�r�rd)rHr<�zope.interface.interfacerrer`rfr�rIrr!r�r(r*rgr%r-rir)rrjr�rrFrV)rr<rr`r�rArKrLrkr�r0r rrrrlr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
rA�rBrAr�rFrc@r=)zRComponentsTests.test_registerAdapter_w_required_containing_class.<locals>._FactoryNr>rrrr
r��rBr�c@r=)zRComponentsTests.test_registerAdapter_w_required_containing_class.<locals>._ContextNr>rrrr
�_Context�rEr�r�rd)rHr<r�r�rer`rfr�rIrr!r�r(r*rgr%r-rir)rrjr�rrFrV)rr<r�r�r`r�rArKr�rLrkr�r��	_ctx_implr0r rrrrlr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
rA
rBrArFrc@r=)zQComponentsTests.test_registerAdapter_w_required_containing_junk.<locals>._FactoryNr>rrrr
r�rBr�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
rArBrAr�rFrc�eZdZ�fZdS)zKComponentsTests.test_registerAdapter_wo_explicit_required.<locals>._FactoryN�r&r?r@�__component_adapts__r�r�rr
r�!�
r�r�rd)rHr<rer`rfr�rIrr!r�r(r*rgr%r-rir)rrjr�rrFrV)rr<r`r�rArKrLrkr�r0r rrrrlrrr
�)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
rA=rBrAr�rFrcSrOr	rPr�rrr
rRDrSz?ComponentsTests.test_registerAdapter_wo_event.<locals>._factoryF)rl)rHr<rr!r�r%ri)rr<rArKr�rLrkrRr0r rrrr
�test_registerAdapter_wo_event:s��z-ComponentsTests.test_registerAdapter_wo_eventcC� |��}|jt|jddd�dS�N)rVrj)rrXrY�unregisterAdapterr5r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
rATrBrA�rVrjr�)rHr<rrXrYrr�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
rA]rBrAr�c@r=)z=ComponentsTests.test_unregisterAdapter_miss.<locals>._FactoryNr>rrrr
r�arBr�)rHr<rIrr!rr��
rr<rArKr�r�r0r rr�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
rAnrBrAr�c@r=)z]ComponentsTests.test_unregisterAdapter_hit_w_explicit_provided_and_required.<locals>._FactoryNr>rrrr
r�rrBr�rdrc)rHr<rer�rfr�rIrr�r!rr(r�r*rgr-r%rir)rrjr�rrFrV)rr<r�r�rArKr�r�r0r rr�rrrlr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
rA�rBrAr�c@r=)zMComponentsTests.test_unregisterAdapter_wo_explicit_provided.<locals>._FactoryNr>rrrr
r��rEr�rdrc)rHr<r�rer�rfr�rIrr�r!rr(r%rir)rrjr�rrFrV)rr<r�r�r�rArKr�r�r0r rr�rrrlr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
rA�rBrAr�cr�)zMComponentsTests.test_unregisterAdapter_wo_explicit_required.<locals>._FactoryNr�rrrr
r��rr��rjrdrc)rHr<rer�rfr�rIrr�r!rr(r%rir)rrjr�rrFrV)rr<r�r�rArKr�r0r rr�rrrlrrr
�+test_unregisterAdapter_wo_explicit_required��4�
z;ComponentsTests.test_unregisterAdapter_wo_explicit_requiredcCr�r	)rr%r��registeredAdaptersr5r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
rA�rBrArFrr�c@r=)zBComponentsTests.test_registeredAdapters_notempty.<locals>._FactoryNr>rrrr
r��rBr�cSr�r	r�r�rrr
r��r�zBComponentsTests.test_registeredAdapters_notempty.<locals>.<lambda>r�rzrd)rHr<rfr�rIrr�r�rr%rir(r)rrjr�rrFrV)rr<r�rArKr�rLr�r�r�r0r�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
rA�rBrA�rHr<rrIr(�queryAdapter)rr<rArKr0�_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
rA�rBrAr�r)rr<rArKr0rr�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
rArBrAr�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�rEr�)
rHr<r�rIrr�rr(r)r��rr<r�rArKr�r�r�rr0�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
rArBrAr�c@r=)z6ComponentsTests.test_getAdapter_miss.<locals>._ContextNr>rrrr
r�rEr�)	rHr<r�rer�rIrrX�
getAdapter)
rr<r�r�rArKr�r�rr0r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
rA)rBrAr�c@r!)z5ComponentsTests.test_getAdapter_hit.<locals>._FactorycSr"r	r�r#rrr
r�.r$z>ComponentsTests.test_getAdapter_hit.<locals>._Factory.__init__Nr%rrrr
r�-r&r�c@r=)z5ComponentsTests.test_getAdapter_hit.<locals>._ContextNr>rrrr
r�0rEr�)
rHr<r�rIrr�r*�assertIsInstance�assertIsr�r'r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>rBr/c@r=)z;ComponentsTests.test_getAdapter_hit_super.<locals>.IDerivedNr>rrrr
�IDerivedArBr0c@r=)z7ComponentsTests.test_getAdapter_hit_super.<locals>.IFooNr>rrrr
rADrBrAc@r=)z7ComponentsTests.test_getAdapter_hit_super.<locals>.BaseNr>rrrr
�BaseGrEr1c@r=)z:ComponentsTests.test_getAdapter_hit_super.<locals>.DerivedNr>rrrr
�DerivedKrEr2c@r!)z>ComponentsTests.test_getAdapter_hit_super.<locals>.AdapterBasecSr"r	r�r#rrr
r�Pr$zGComponentsTests.test_getAdapter_hit_super.<locals>.AdapterBase.__init__Nr%rrrr
�AdapterBaseOr&r3c@r!)zAComponentsTests.test_getAdapter_hit_super.<locals>.AdapterDerivedcSr"r	r�r#rrr
r�Tr$zJComponentsTests.test_getAdapter_hit_super.<locals>.AdapterDerived.__init__Nr%rrrr
�AdapterDerivedSr&r4�
rrrHr�rIrr��_should_not_changer*r,r-r�r��rrr�r/r0rAr1r2r3r4r0�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/jrBr/c@r=)zdComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.IDerivedNr>rrrr
r0mrBr0c@r=)z`ComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.IFooNr>rrrr
rAprBrAc@r=)z`ComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.BaseNr>rrrr
r1srBr1c@r=)zbComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.Child1Nr>rrrr
�Child1vrBr;c@r=)zbComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.Child2Nr>rrrr
�Child2yrEr<c@r=)zcComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.DerivedNr>rrrr
r2}rEr2c@r!)zgComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterBasecSr"r	r�r#rrr
r��r$zpComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterBase.__init__Nr%rrrr
r3�r&r3c@r!)zjComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterDerivedcSr"r	r�r#rrr
r��r$zsComponentsTests.test_getAdapter_hit_super_when_parent_implements_interface_diamond.<locals>.AdapterDerived.__init__Nr%rrrr
r4�r&r4r5)rrr�r/r0rAr1r;r<r2r3r4r0r8r(r9r�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
rA�rBrAr��IBazc@r=)z>ComponentsTests.test_queryMultiAdapter_miss.<locals>._Context1Nr>rrrr
�	_Context1�rEr?c@r=)z>ComponentsTests.test_queryMultiAdapter_miss.<locals>._Context2Nr>rrrr
�	_Context2�rEr@)rHr<r�rIrr%�queryMultiAdapter�rr<r�rArKr��ibazr?r@�	_context1�	_context2r0r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
rA�rBrAr�r>c@r=)zHComponentsTests.test_queryMultiAdapter_miss_w_default.<locals>._Context1Nr>rrrr
r?�rEr?c@r=)zHComponentsTests.test_queryMultiAdapter_miss_w_default.<locals>._Context2Nr>rrrr
r@�rEr@r�)rHr<r�rIrr(rA)
rr<r�rArKr�rCr?r@rDrEr�r0r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
rA�rBrAr�r>c@r=)z=ComponentsTests.test_queryMultiAdapter_hit.<locals>._Context1Nr>rrrr
r?�rEr?c@r=)z=ComponentsTests.test_queryMultiAdapter_hit.<locals>._Context2Nr>rrrr
r@�rEr@c@r!)z<ComponentsTests.test_queryMultiAdapter_hit.<locals>._FactorycS�||f|_dSr	r��r�context1�context2rrr
r���zEComponentsTests.test_queryMultiAdapter_hit.<locals>._Factory.__init__Nr%rrrr
r��r&r�)rHr<r�rIrr�rAr(r)r%r��rr<r�rArKr�rCr?r@rDrEr�r0r(r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
rA�rBrAr�r>c@r=)z<ComponentsTests.test_getMultiAdapter_miss.<locals>._Context1Nr>rrrr
r?�rEr?c@r=)z<ComponentsTests.test_getMultiAdapter_miss.<locals>._Context2Nr>rrrr
r@�rEr@)	rHr<r�rer�rIrrX�getMultiAdapter)
rr<r�r�rArKr�rCr?r@rDrEr0rrr
�test_getMultiAdapter_miss�s"�z)ComponentsTests.test_getMultiAdapter_misscCrH)Nrr^r�c@r=)z6ComponentsTests.test_getMultiAdapter_hit.<locals>.IFooNr>rrrr
rA�rBrAr�r>c@r=)z;ComponentsTests.test_getMultiAdapter_hit.<locals>._Context1Nr>rrrr
r?�rEr?c@r=)z;ComponentsTests.test_getMultiAdapter_hit.<locals>._Context2Nr>rrrr
r@�rEr@c@r!)z:ComponentsTests.test_getMultiAdapter_hit.<locals>._FactorycSrIr	r�rJrrr
r�rMzCComponentsTests.test_getMultiAdapter_hit.<locals>._Factory.__init__Nr%rrrr
r�r&r�)rHr<r�rIrr�rQr(r)r%r�rNrrr
�test_getMultiAdapter_hit�rPz(ComponentsTests.test_getMultiAdapter_hitcs(�fdd�}||_||j_||jj_dS)Ncs��d�dS)NzNothing should get changed)�fail)rr
rr
�
no_changes
rMz6ComponentsTests._should_not_change.<locals>.no_changes)�changedr*�	_v_lookup)rr0rUrr
r
r6	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/rBr/c@r=)z@ComponentsTests.test_getMultiAdapter_hit_super.<locals>.IDerivedNr>rrrr
r0rBr0c@r=)z<ComponentsTests.test_getMultiAdapter_hit_super.<locals>.IFooNr>rrrr
rArBrAc@r=)z<ComponentsTests.test_getMultiAdapter_hit_super.<locals>.BaseNr>rrrr
r1 rEr1c@r=)z?ComponentsTests.test_getMultiAdapter_hit_super.<locals>.DerivedNr>rrrr
r2$rEr2c@r!)zCComponentsTests.test_getMultiAdapter_hit_super.<locals>.AdapterBasecSs||_||_dSr	�rKrLrJrrr
r�)s
zLComponentsTests.test_getMultiAdapter_hit_super.<locals>.AdapterBase.__init__Nr%rrrr
r3(r&r3c@r=)zFComponentsTests.test_getMultiAdapter_hit_super.<locals>.AdapterDerivedNr>rrrr
r4-rBr4)rrrHr�rIrr�r6rQr,r-rKrLr��assertNotIsInstancer7r�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
rAErBrAr�r>c@r=)z9ComponentsTests.test_getAdapters_empty.<locals>._Context1Nr>rrrr
r?JrEr?c@r=)z9ComponentsTests.test_getAdapters_empty.<locals>._Context2Nr>rrrr
r@MrEr@)rHr<r�rIrr%r��getAdaptersrBr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
rAYrBrAr�r>c@r=)zHComponentsTests.test_getAdapters_factory_returns_None.<locals>._Context1Nr>rrrr
r?^rEr?c@r=)zHComponentsTests.test_getAdapters_factory_returns_None.<locals>._Context2Nr>rrrr
r@arEr@crr	rrX��_called_withrr
�_side_effect_onlyhszPComponentsTests.test_getAdapters_factory_returns_None.<locals>._side_effect_only)	rHr<r�rIrr�r%r�r[)
rr<r�rArKr�rCr?r@rDrEr0r_rr]r
�%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
rAtrBrAr�r>c@r=)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Context1Nr>rrrr
r?yrEr?c@r=)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Context2Nr>rrrr
r@|rEr@c@r!)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Factory1cSrIr	r�rJrrr
r��rMzFComponentsTests.test_getAdapters_non_empty.<locals>._Factory1.__init__Nr%rrrr
�	_Factory1�r&rac@r!)z=ComponentsTests.test_getAdapters_non_empty.<locals>._Factory2cSrIr	r�rJrrr
r��rMzFComponentsTests.test_getAdapters_non_empty.<locals>._Factory2.__init__Nr%rrrr
�	_Factory2�r&rbrr�r�rzrd)rHr<r�rIrr�r�r[r%rir(r))rr<r�rArKr�rCr?r@rDrErarbr�r�r0�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
rA�rBrAr�rrFcSrOr	rPr�rrr
rR�rSzRComponentsTests.test_registerSubscriptionAdapter_w_nonblank_name.<locals>._factory)rHr<rrXrY�registerSubscriptionAdapter)	rr<rArKr�rkrLrRr0r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
rA�rBrAr�rcrFcSrOr	rPr�rrr
rR�rSzcComponentsTests.test_registerSubscriptionAdapter_w_explicit_provided_and_required.<locals>._factoryrGrd)rHr<rer`rfrhrr!rer*rhr%rir(r.r)rIrrjr�rrFrV)rr<r`rhrArKr��_blankrLrRr0r rr�rrrlr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_rgc@r=)zSComponentsTests.test_registerSubscriptionAdapter_wo_explicit_provided.<locals>.IFooNr>rrrr
rA�rBrAr�rFrcc@r=)zWComponentsTests.test_registerSubscriptionAdapter_wo_explicit_provided.<locals>._FactoryNr>rrrr
r��rEr�rGrd)rHr<r�rer`rfrhrIrr!rer*rhr%rir(r.r)rrjr�rrFrV)rr<r�r`rhrArKr�rLrir�r0r rr�rrrlr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_rgc@r=)zSComponentsTests.test_registerSubscriptionAdapter_wo_explicit_required.<locals>.IFooNr>rrrr
rA�rBrAr�rFrccr�)zWComponentsTests.test_registerSubscriptionAdapter_wo_explicit_required.<locals>._FactoryNr�rrrr
r��rr�)rjrFrd)rHr<rer`rfrhrIrr!rer*rhr%rir(r.r)rrjr�rrFrV)rr<r`rhrArKrLrir�r0r rr�rrrlrrr
�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
rArBrAr�rcrFcSrOr	rPr�rrr
rRrSzKComponentsTests.test_registerSubscriptionAdapter_wo_event.<locals>._factoryF�rFrl)rHr<rr!rer%ri)rr<rArKr�rirLrRr0r rrrr
�)test_registerSubscriptionAdapter_wo_events��z9ComponentsTests.test_registerSubscriptionAdapter_wo_eventcCr�r	)rr%r��registeredSubscriptionAdaptersr5r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^rgc@r=)zJComponentsTests.test_registeredSubscriptionAdapters_notempty.<locals>.IFooNr>rrrr
rA/rBrArFrcc@r=)zNComponentsTests.test_registeredSubscriptionAdapters_notempty.<locals>._FactoryNr>rrrr
r�5rBr�rGrzrd)rHr<rfrhrIrrer�ror%rir(r)rrjr�rrFrV)rr<rhrArKr�rLrir�r0r�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
rAOrBrAr��nonblank)r�rjr�rHr<rrXrY�unregisterSubscriptionAdapter)rr<rArKr��	_nonblankr0rrr
�2test_unregisterSubscriptionAdapter_w_nonblank_nameLs

�zBComponentsTests.test_unregisterSubscriptionAdapter_w_nonblank_namecCrr)rrXrYrtr5rrr
�?test_unregisterSubscriptionAdapter_neither_factory_nor_providedXrzOComponentsTests.test_unregisterSubscriptionAdapter_neither_factory_nor_providedcCr	)Nrr^c@r=)z]ComponentsTests.test_unregisterSubscriptionAdapter_neither_factory_nor_required.<locals>.IFooNr>rrrr
rA_rBrAr
rsr�rrr
�?test_unregisterSubscriptionAdapter_neither_factory_nor_required]rzOComponentsTests.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
rAhrBrAr�c@r=)zIComponentsTests.test_unregisterSubscriptionAdapter_miss.<locals>._FactoryNr>rrrr
r�lrBr�)rHr<rIrr!rtr�r
r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�rgc@r=)zOComponentsTests.test_unregisterSubscriptionAdapter_hit_wo_factory.<locals>.IFooNr>rrrr
rAzrBrAr�c@r=)zSComponentsTests.test_unregisterSubscriptionAdapter_hit_wo_factory.<locals>._FactoryNr>rrrr
r�~rBr�rdrc�rHr<rer�rfrhrIrrer!rtr(r�r*rhr.r%rir)rrjr�rrFrV�rr<r�rhrArKr�r�r0r rr�rrrlrrr
�1test_unregisterSubscriptionAdapter_hit_wo_factoryvrzAComponentsTests.test_unregisterSubscriptionAdapter_hit_wo_factorycCr)Nrr^r�rgc@r=)zNComponentsTests.test_unregisterSubscriptionAdapter_hit_w_factory.<locals>.IFooNr>rrrr
rA�rBrAr�c@r=)zRComponentsTests.test_unregisterSubscriptionAdapter_hit_w_factory.<locals>._FactoryNr>rrrr
r��rBr�rdrcrzr{rrr
�0test_unregisterSubscriptionAdapter_hit_w_factory�rz@ComponentsTests.test_unregisterSubscriptionAdapter_hit_w_factorycCr)
Nrr^r�r�rgc@r=)zUComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_provided.<locals>.IFooNr>rrrr
rA�rBrAr�c@r=)zYComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_provided.<locals>._FactoryNr>rrrr
r��rEr�rdrc)rHr<r�rer�rfrhrIrrer!rtr(r%rir)rrjr�rrFrV)rr<r�r�rhrArKr�r�r0r rr�rrrlrrr
�7test_unregisterSubscriptionAdapter_wo_explicit_provided�rzGComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_providedcr)
Nrr^r�rgc@r=)zUComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_required.<locals>.IFooNr>rrrr
rA�rBrAr�cr�)zYComponentsTests.test_unregisterSubscriptionAdapter_wo_explicit_required.<locals>._FactoryNr�rrrr
r��rr�rrdrc)rHr<rer�rfrhrIrrer!rtr(r%rir)rrjr�rrFrV)rr<r�rhrArKr�r0r rr�rrrlrrr
�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
rA�rBrAr�c@r=)z3ComponentsTests.test_subscribers_empty.<locals>.BarNr>rrrr
�Bar�rEr�)rHr<r�rrIr%r��subscribers)	rr<r�rArKr�r0r��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
rArBrAr�cseZdZ�fZdd�ZdS)z<ComponentsTests.test_subscribers_non_empty.<locals>._FactorycSr"r	)rr#rrr
r�r$zEComponentsTests.test_subscribers_non_empty.<locals>._Factory.__init__N)r&r?r@r�r�rrrr
r�	sr�c@r=)z<ComponentsTests.test_subscribers_non_empty.<locals>._DerivedNr>rrrr
�_Derived
rBr�c@r=)z7ComponentsTests.test_subscribers_non_empty.<locals>.BarNr>rrrr
r�rEr�cSs|jjSr	)r�r&��xrrr
�
_klassname�z>ComponentsTests.test_subscribers_non_empty.<locals>._klassnamer�rzrd)rHr<r�rIrrer�r�r%rir(r))rr<r�rArKr�r�r0r�r�r�r�rrr
�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
rA!rBrArrcSrOr	rPr�rrr
rR&rSzFComponentsTests.test_registerHandler_w_nonblank_name.<locals>._factory�r�r)rHr<rrXrY�registerHandler)rr<rArKrur0rRr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
rA1rBrArcrFcSrOr	rPr�rrr
rR6rSzJComponentsTests.test_registerHandler_w_explicit_required.<locals>._factoryrGrd)rHr<rer`rfr�rr!r�r*rhr%rir(r/r)rIrr�rrFrV)rr<r`r�rArKrirLrRr0r rr�rrrlr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
rAQrBrArFrccr�)zTComponentsTests.test_registerHandler_wo_explicit_required_no_event.<locals>._FactoryNr�r�rKrr
r�Vsr�Frmrd)rHr<rIrr!r�r*rhr%rir(r/)
rr<rArLrir�r0r rr�rr�r
�2test_registerHandler_wo_explicit_required_no_eventNs$��zBComponentsTests.test_registerHandler_wo_explicit_required_no_eventcCs|��}|�t|����dSr	)rr�r��registeredHandlersr5r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
rAlrBrAcSrOr	rPr�rrr
�	_factory1orSzDComponentsTests.test_registeredHandlers_non_empty.<locals>._factory1cSrOr	rPr�rrr
�	_factory2qrSzDComponentsTests.test_registeredHandlers_non_empty.<locals>._factory2cSs
|jjjSr	)rV�__code__�co_namer�rrr
�
_factory_namevr$zHComponentsTests.test_registeredHandlers_non_empty.<locals>._factory_namer�rzrcrd)rHr<rfr�rr�r�r�r%rir(r)r�rrVrF)
rr<r�rArKr�r�r0r�r�r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
rA�rBrArrr�)rHr<rrXrY�unregisterHandler)rr<rArKrur0rrr
�&test_unregisterHandler_w_nonblank_name�s

�z6ComponentsTests.test_unregisterHandler_w_nonblank_namecCs|��}|�t|j�dSr	)rrXrYr�r5r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
rA�rBrA�r�)rHr<rr�r�)rr<rArKr0r�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
rA�rBrAcSrOr	rPr�rrr
rR�rSz\ComponentsTests.test_unregisterHandler_hit_w_factory_and_explicit_provided.<locals>._factoryrdrc�rHr<rer�rfr�rr�r!r�r(r%rir)rIrr�rrV�rr<r�r�rArKr0rRr rr�rrrlr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
rA�rBrAcSrOr	rPr�rrr
rR�rSzUComponentsTests.test_unregisterHandler_hit_w_only_explicit_provided.<locals>._factoryr�rdrcr�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
rA�rBrAcr�)zMComponentsTests.test_unregisterHandler_wo_explicit_required.<locals>._FactoryNr�rr�rr
r��rr�rdrc)rHr<rer�rfr�rIrr�r!r�r(r%rir)rr�rrFrV)
rr<r�r�rAr�r0r rr�rrrlr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
rA�rBrAc@r=)z.ComponentsTests.test_handle_empty.<locals>.BarNr>rrrr
r��rEr�)rHr<r�rrI�handle)rr<r�rArKr0r�r�r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
rA�rBrAc���|�dSr	rr�)�	_called_1rr
�
_factory_1	rMz9ComponentsTests.test_handle_non_empty.<locals>._factory_1cr�r	rr�)�	_called_2rr
�
_factory_2	rMz9ComponentsTests.test_handle_non_empty.<locals>._factory_2c@r=)z2ComponentsTests.test_handle_non_empty.<locals>.BarNr>rrrr
r�	rEr�)rHr<r�rr�rIr�r%)
rr<r�rArKr�r�r0r�r�r)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
rA	rBrArr�r�rdrcr��r)rrrIrJr%rir+rh�	_providedr�r()r�	identicalrAr0�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
rA3	�rAc@r�)zYComponentsTests.test_rebuildUtilityRegistryFromLocalCache.<locals>.UtilityImplementingFoor�Nr�rrrr
�UtilityImplementingFoo6	r�r��z%sr�rdrrc�
r�����)�did_not_register�needed_registered�did_not_subscribe�needed_subscribedT)�rebuild)rrIr�rangerJr+�_generationrgr%rirh�typer�str�assertNotEqual�$rebuildUtilityRegistryFromLocalCache�assertIn)rrAr��comps�i�orig_generation�
orig_adapters�orig_subscribers�new_adapters�dr�new_subscribersr0�rebuild_results_preflight�rebuild_results�orig_subscriber�preflight_after�
rebuild_afterrrr
�)test_rebuildUtilityRegistryFromLocalCache2	st

�	��z9ComponentsTests.test_rebuildUtilityRegistryFromLocalCache)r)T)vr&r?r@rrr!r1r3r6r9rMr\rmrqrrrurwr~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�rrrrrrrrrrrr r)r+r.r:r=rFrGrOrRrSr6rZr\r`rdrfrjrkrlrnrprqrvrwrxryr|r}r~rr�r�r�r�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�	rBr)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)Nrra)rfrb)rrbr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�	rBr�rAc@r!)z4UtilityRegistrationTests._makeOne.<locals>._RegistrycS�dS�N�	_REGISTRYrr
rrr
�__repr__�	rz=UtilityRegistrationTests._makeOne.<locals>._Registry.__repr__N�r&r?r@r�rrrr
�	_Registry�	r&r�r�	DOCSTRING�rHr<rIr)rrUrVr<r�rKr�rr�doc�klassrrr
r�	s�z!UtilityRegistrationTests._makeOnecC�*ddlm}ddlm}|||���dS)Nr��verifyClass��IUtilityRegistration)�zope.interface.verifyr�rer�r)rr�r�rrr
�+test_class_conforms_to_IUtilityRegistration�	�zDUtilityRegistrationTests.test_class_conforms_to_IUtilityRegistrationcC�4ddlm}ddlm}|��\}}}|||�dS)Nr��verifyObjectr�)r�r�rer�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')�rIrr%r4�rr��
_componentr��	_registryrkrrr
r6�	�
��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��	r&r��AUtilityRegistration(_REGISTRY, None, %r, TEST, None, 'DOCSTRING')�rIrrjr%r4r�rrr
�test___repr___provided_wo_name�	�
��z7UtilityRegistrationTests.test___repr___provided_wo_namecCr)Nc@r!)zLUtilityRegistrationTests.test___repr___component_wo_name.<locals>._ComponentcSr�rrr
rrr
r��	rzUUtilityRegistrationTests.test___repr___component_wo_name.<locals>._Component.__repr__Nr�rrrr
r��	r&r�rrr�rrr
�test___repr___component_wo_name�	rz8UtilityRegistrationTests.test___repr___component_wo_namecC�.t�}|�|�\}}}|�|��t|��dSr	�rIrr%�__hash__�id�rrr�rrkrrr
�
test___hash__�	�z&UtilityRegistrationTests.test___hash__cC�(t�}|�|�\}}}|�||k�dSr	�rIrr(rrrr
�test___eq___identity�	�z-UtilityRegistrationTests.test___eq___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	r�rrr�rrk�ur2r�rrr
�test___eq___hit�	�z(UtilityRegistrationTests.test___eq___hitcC�>t�}t�}|�|�\}}}|�|�\}}}|�||k�dSr	�rIrr��rr�_component2r�rrkrr�rrr
�test___eq___miss�	�
z)UtilityRegistrationTests.test___eq___misscC�(t�}|�|�\}}}|�||k�dSr	rrrrr
�test___ne___identity�	rz-UtilityRegistrationTests.test___ne___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	rrrrr
�test___ne___hit�	rz(UtilityRegistrationTests.test___ne___hitcC�>t�}t�}|�|�\}}}|�|�\}}}|�||k�dSr	rrrrr
�test___ne___miss�	rz)UtilityRegistrationTests.test___ne___misscC�(t�}|�|�\}}}|�||k�dSr	rrrrr
�test___lt___identity
rz-UtilityRegistrationTests.test___lt___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	rrrrr
�test___lt___hit
rz(UtilityRegistrationTests.test___lt___hitcC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dS�N�2�rIrrr(rrrr
�test___lt___miss
�
z)UtilityRegistrationTests.test___lt___misscC�(t�}|�|�\}}}|�||k�dSr	rrrrr
�test___le___identity
rz-UtilityRegistrationTests.test___le___identitycC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	rrrrr
�test___le___hit
rz(UtilityRegistrationTests.test___le___hitcC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr+r-rrrr
�test___le___miss 
r/z)UtilityRegistrationTests.test___le___misscC�(t�}|�|�\}}}|�||k�dSr	rrrrr
�test___gt___identity(
rz-UtilityRegistrationTests.test___gt___identitycC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr+r-rrrr
�test___gt___hit-
r/z(UtilityRegistrationTests.test___gt___hitcC�8t�}|�|�\}}}|�|�\}}}|�||k�dSr	rrrrr
�test___gt___miss5
rz)UtilityRegistrationTests.test___gt___misscC�(t�}|�|�\}}}|�||k�dSr	rrrrr
�test___ge___identity;
rz-UtilityRegistrationTests.test___ge___identitycC�Ht�}t�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr+�rIrrr�rrrr
�test___ge___miss@
r/z)UtilityRegistrationTests.test___ge___misscC�Bt�}|�|�\}}}|�|�\}}}|d|_|�||k�dSr+r-rrrr
�test___ge___hitH
�

z(UtilityRegistrationTests.test___ge___hit)NN)r&r?r@rrr�r�r6rr	rrrrr!r#r%r'r)r.r1r3r5r7r9r;r=r@rBr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�)rfr�)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
rAY
rBrAr�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�]
r&r�rr�r��rrUr<rArKr�r�rrr�r�rrr
rV
��z!AdapterRegistrationTests._makeOnecCr�)Nrr���IAdapterRegistration)r�r�rerIr)rr�rIrrr
�+test_class_conforms_to_IAdapterRegistrationi
r�zDAdapterRegistrationTests.test_class_conforms_to_IAdapterRegistrationcCr�)Nrr�rH)r�r�rerIr)rr�rI�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�rrKrrkrrr
r6t
rz&AdapterRegistrationTests.test___repr__cCr)Nc@r!)zKAdapterRegistrationTests.test___repr___provided_wo_name.<locals>._ComponentcSr�rrr
rrr
r�
rzTAdapterRegistrationTests.test___repr___provided_wo_name.<locals>._Component.__repr__Nr�rrrr
r�~
r&r��CAdapterRegistration(_REGISTRY, [IBar], None, %r, TEST, 'DOCSTRING')rrMrrr
r}
rz7AdapterRegistrationTests.test___repr___provided_wo_namecCr)Nc@r!)zLAdapterRegistrationTests.test___repr___component_wo_name.<locals>._ComponentcSr�rrr
rrr
r��
rzUAdapterRegistrationTests.test___repr___component_wo_name.<locals>._Component.__repr__Nr�rrrr
r��
r&r�rNrrMrrr
r	�
rz8AdapterRegistrationTests.test___repr___component_wo_namecCr
r	r�rrrKrrkrrr
r�
rz&AdapterRegistrationTests.test___hash__cCrr	rrOrrr
r�
rz-AdapterRegistrationTests.test___eq___identitycCrr	r�rrrKrrk�ar2r�rrr
r�
rz(AdapterRegistrationTests.test___eq___hitcCrr	r�rrrrKrrkrQr�rrr
r�
rz)AdapterRegistrationTests.test___eq___misscCr r	rrOrrr
r!�
rz-AdapterRegistrationTests.test___ne___identitycCr"r	rrPrrr
r%�
rz)AdapterRegistrationTests.test___ne___misscCr$r	rrRrrr
�test___ne___hit_component�
rz2AdapterRegistrationTests.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
rA�
rBrAr>)rHr<rIrrjr()
rr<rArCrrKrrkrQr�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
rA�
rBrAr>)rHr<rIrr�r()rr<rArCrrrKrrkrQr�rrr
�test___ne___hit_required�
sz1AdapterRegistrationTests.test___ne___hit_requiredcCr&r	rrOrrr
r'�
rz-AdapterRegistrationTests.test___lt___identitycCr(r	rrPrrr
r)�
rz(AdapterRegistrationTests.test___lt___hitcCr*r+r-rRrrr
r.�
r/z)AdapterRegistrationTests.test___lt___misscCr0r	rrOrrr
r1�
rz-AdapterRegistrationTests.test___le___identitycCr2r	rrPrrr
r3�
rz(AdapterRegistrationTests.test___le___hitcCr4r+r-rRrrr
r5�
r/z)AdapterRegistrationTests.test___le___misscCr6r	rrOrrr
r7�
rz-AdapterRegistrationTests.test___gt___identitycCr8r+r-rRrrr
r9�
r/z(AdapterRegistrationTests.test___gt___hitcCr:r	rrPrrr
r;rz)AdapterRegistrationTests.test___gt___misscCr<r	rrOrrr
r=rz-AdapterRegistrationTests.test___ge___identitycCr>r+r?rRrrr
r@r/z)AdapterRegistrationTests.test___ge___misscCrAr+r-rPrrr
rBrCz(AdapterRegistrationTests.test___ge___hitr	)r&r?r@rrrJrLr6rr	rrrrr!r%rSrTrUr'r)r.r1r3r5r7r9r;r=r@rBrrrr
rDP
s:
	rDc@s.eZdZdd�Zd
dd�Zdd�Zdd	�ZdS)�SubscriptionRegistrationTestscCr�)Nrrg)rfrh)rrhrrr
r#r�z-SubscriptionRegistrationTests._getTargetClassNcCrE)
Nrr^c@r=)z4SubscriptionRegistrationTests._makeOne.<locals>.IFooNr>rrrr
rA*rBrAr�c@r!)z9SubscriptionRegistrationTests._makeOne.<locals>._RegistrycSr�r�rr
rrr
r�/rzBSubscriptionRegistrationTests._makeOne.<locals>._Registry.__repr__Nr�rrrr
r�.r&r�rr�r�rFrrr
r'rGz&SubscriptionRegistrationTests._makeOnecCr�)Nrr��� ISubscriptionAdapterRegistration)r�r�rerXr)rr�rXrrr
�7test_class_conforms_to_ISubscriptionAdapterRegistration:r�zUSubscriptionRegistrationTests.test_class_conforms_to_ISubscriptionAdapterRegistrationcCr�)Nrr�rW)r�r�rerXr)rr�rX�sarr�rrr
�:test_instance_conforms_to_ISubscriptionAdapterRegistration?r�zXSubscriptionRegistrationTests.test_instance_conforms_to_ISubscriptionAdapterRegistrationr	)r&r?r@rrrYr[rrrr
rV!s

rVc@sFeZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dS)�HandlerRegistrationTestscCr�)Nrr�)rfr�)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
rAOrBrAc@r!)z4HandlerRegistrationTests._makeOne.<locals>._RegistrycSr�r�rr
rrr
r�Srz=HandlerRegistrationTests._makeOne.<locals>._Registry.__repr__Nr�rrrr
r�Rr&r�rr�r�)
rrUr<rArKr�rrr�r�rrr
rLs�z!HandlerRegistrationTests._makeOnecCr�)Nrr���IHandlerRegistration)r�r�rer^r)rr�r^rrr
�+test_class_conforms_to_IHandlerRegistration^r�zDHandlerRegistrationTests.test_class_conforms_to_IHandlerRegistrationcCr�)Nrr�r])r�r�rer^r)rr�r^�hrr�rrr
�.test_instance_conforms_to_IHandlerRegistrationcr�zGHandlerRegistrationTests.test_instance_conforms_to_IHandlerRegistrationcCsNdd�}|�|�\}}}|�|j|u�|�|j|ju�|�|jdu�dS)NcSrOr	rPr�rrr
rRjrSz:HandlerRegistrationTests.test_properties.<locals>._factory)rr(�handlerrVrj)rrRr`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`rrkrrr
�test___repr___factory_w_nameqs
��z5HandlerRegistrationTests.test___repr___factory_w_namecCrd)Nc@r!)zHHandlerRegistrationTests.test___repr___factory_wo_name.<locals>._FactorycSr�rrr
rrr
r�{rzQHandlerRegistrationTests.test___repr___factory_wo_name.<locals>._Factory.__repr__Nr�rrrr
r�zr&r�rer�rfrrr
�test___repr___factory_wo_nameys
��z6HandlerRegistrationTests.test___repr___factory_wo_namer	)
r&r?r@rrr_rarcrgrhrrrr
r\Fs
r\c@seZdZdd�Zdd�ZdS)�PersistentAdapterRegistrycCsF|j��}t|�D]}||jvs|�d�r|�|�q	|�dd�|S)N�_v�ro)�__dict__�copyr��
_delegated�
startswith�pop)r�state�krrr
�__getstate__�s

�z&PersistentAdapterRegistry.__getstate__cCs6|�dd�}|j�|�|��||_|j�|�dS)Nr'r)rprl�update�
_createLookupr'rWrV)rrq�basesrrr
�__setstate__�s
z&PersistentAdapterRegistry.__setstate__N)r&r?r@rsrwrrrr
ri�sric@r!)�PersistentComponentscCst�|_t�|_dSr	)rir*r+r
rrr
�_init_registries�sz%PersistentComponents._init_registriesN)r&r?r@ryrrrr
rx�srxc@r=)�PersistentDictComponentsNr>rrrr
rz�rErzc@r!)�PersistentComponentsDictcCst�|�t�||�dSr	)r�r�rx)rrrrr
r��s
z!PersistentComponentsDict.__init__Nr%rrrr
r{��r{c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestPersistentComponentscCstd�S)Nr)rxr
rrr
r�r�z!TestPersistentComponents._makeOnecCsdSr	r�r�maderrr
�_check_equality_after_pickle�rz5TestPersistentComponents._check_equality_after_picklecCs<ddl}|��}|�|�|�|�|��}|�|jd�dS�Nrr)�pickler�dumps�loadsr%r&)rr�r0�comp2rrr
�test_pickles_empty�s

z+TestPersistentComponents.test_pickles_emptycCs�ddl}|��}t�}|�|t�|�||�t��|�|�|��}|�	|j
d�|�|�t��|�|t�|�||�t��|�|�dSr�)
r�rrIrJrr-r�r�r�r%r&�assertIsNotNoner�)rr�r0�utilityr�rrr
�&test_pickles_with_utility_registration�s*����z?TestPersistentComponents.test_pickles_with_utility_registrationN)r&r?r@rr�r�r�rrrr
r}�s
r}c@�$eZdZdd�Zdd�Zdd�ZdS)�TestPersistentDictComponentscCrr	)rzr
rrr
r�rz,TestPersistentDictComponents._getTargetClasscCs|��dd�}d|d<|S)Nrr��*r�rr5rrr
r�sz%TestPersistentDictComponents._makeOnecCs |�d|�|�|dd�dS)Nr�r�)r�r%r~rrr
r��sz9TestPersistentDictComponents._check_equality_after_pickleN)r&r?r@rrr�rrrr
r��sr�c@r!)�TestPersistentComponentsDictcCrr	)r{r
rrr
r�rz,TestPersistentComponentsDict._getTargetClassN)r&r?r@rrrrr
r��r|r�c@r�)rcs@�|_t�fdd�|D��|_|��D]
\}}t�||�qdS)Ncsg|]	}|t�|�f�qSr)�getattr)�.0r���modulerr
�
<listcomp>�sz$_Monkey.__init__.<locals>.<listcomp>)r�r��
to_restore�items�setattr)rr�rr��valuerr�r
r��s
�z_Monkey.__init__cCs|Sr	rr
rrr
�	__enter__�rz_Monkey.__enter__cCs&|j��D]\}}t|j||�qdSr	)r�r�r�r�)r�exc_type�exc_val�exc_tbr�r�rrr
�__exit__�s�z_Monkey.__exit__N)r&r?r@r�r�r�rrrr
r�sr)r��unittestrrr$rrfr�TestCaserr�r�rDrVr\rirxr�rzr{r}r�r�rIrrrrr
�<module>sP

;R%<+

Anon7 - 2022
AnonSec Team