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_interface.cpython-310.pyc
o

$
x`Ti�@s�dZddlZddlmZddlmZddlmZddlmZe�Z	Gdd�dej
�ZGd	d
�d
ej
�ZGdd�dej
�Z
Gd
d�dej
�ZGdd�dee�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�deeej
�ZGdd�deej
�ZGdd�dej
�ZGdd�dej
�ZGdd �d ej
�ZGd!d"�d"e
�ZGd#d$�d$e�ZGd%d&�d&ej
�ZGd'd(�d(ej
�ZGd)d*�d*e�Zd+d,�Zd-d.�ZGd/d0�d0e�ZdS)1zTest Interface implementation
�N)�_skip_under_py3k)�MissingSomeAttrs)�OptimizationTestMixin)�CleanUpc@�eZdZdd�Zdd�ZdS)�Test_invariantcsTddlm�ddlm}dd��G��fdd�dt�}|�t||d�d�gi�dS)	Nr��	invariant��TAGGED_DATAc_�t���N��NotImplementedError��args�kw�r�E/usr/lib/python3/dist-packages/zope/interface/tests/test_interface.py�_check(�z,Test_invariant.test_w_single.<locals>._checkcseZdZ���dS)z)Test_invariant.test_w_single.<locals>.FooN��__name__�
__module__�__qualname__r�rr	rr�Foo+�r�
invariants��zope.interface.interfacer	r�object�assertEqual�getattr��selfrrrrr�
test_w_single$s�zTest_invariant.test_w_singlecs`ddlm�ddlm}dd��dd��G���fdd	�d	t�}|�t||d�d
��gi�dS)Nrrr
c_rr
rrrrrr5rz.Test_invariant.test_w_multiple.<locals>._checkc_rr
rrrrr�_another_check8rz6Test_invariant.test_w_multiple.<locals>._another_checkcseZdZ������dS)z+Test_invariant.test_w_multiple.<locals>.FooNrr�r'rr	rrr;srrrr$rr(r�test_w_multiple1s
�zTest_invariant.test_w_multipleN)rrrr&r)rrrrr"s
rc@�$eZdZdd�Zdd�Zdd�ZdS)�Test_taggedValuecsJddlm�ddlm}G�fdd�dt�}|�t||d�ddgi�dS)Nr��taggedValuer
cseZdZ�ddg�dS)z+Test_taggedValue.test_w_single.<locals>.Foo�bar�bazNrrr,rrrI�rr.r/�r r-rr!r"r#r$rr,rr&Es�zTest_taggedValue.test_w_singlecsLddlm�ddlm}G�fdd�dt�}|�t||d�dgdd��dS)	Nrr,r
cs"eZdZ�ddg��dd�dS)z-Test_taggedValue.test_w_multiple.<locals>.Foor.r/�qux�spamNrrr,rrrSsrr/r3�r.r2r1r$rr,rr)Os
�z Test_taggedValue.test_w_multiplecsJddlm�ddlm}G�fdd�dt�}|�t||d�ddd��dS)	Nrr,r
cs,eZdZ�ddg��dd��dd�dS)z9Test_taggedValue.test_w_multiple_overwriting.<locals>.Foor.r/r2r3�frobNrrr,rrr^s
rr5r3r4r1r$rr,r�test_w_multiple_overwritingZs�z,Test_taggedValue.test_w_multiple_overwritingN)rrrr&r)r6rrrrr+Cs
r+c@szeZdZdZdd�Zddd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�ElementTestsZ	AnElementcC�ddlm}|S)Nr)�Element)r r9)r%r9rrr�_getTargetClassk�zElementTests._getTargetClassNcCs|dur|j}|��|�Sr
)�DEFAULT_NAMEr:)r%�namerrr�_makeOneoszElementTests._makeOnecCs`|��}|�|j|j�|�|��|j�|�|jd�|�|��d�|�t|���g�dS)N�)	r>r"rr<�getName�__doc__�getDoc�list�getTaggedValueTags�r%�elementrrr�test_ctor_defaultstszElementTests.test_ctor_defaultscCs*|�d�}|�|jd�|�|jd�dS)Nz
An Element)r>r"rrArErrr�test_ctor_no_doc_space_in_name|s
z+ElementTests.test_ctor_no_doc_space_in_namecC�|��}|�t|jd�dS�N�nonesuch)r>�assertRaises�KeyError�getTaggedValuerErrr�test_getTaggedValue_miss��z%ElementTests.test_getTaggedValue_misscCsB|��}|�gt|����|�dd�|�dgt|����dS�N�foor.)r>r"rC�getDirectTaggedValueTags�setTaggedValuerErrr�test_getDirectTaggedValueTags�sz*ElementTests.test_getDirectTaggedValueTagscC�|��}|�|�d�d�dSrJ�r>r"�queryTaggedValuerErrr�test_queryTaggedValue_miss��z'ElementTests.test_queryTaggedValue_misscC� |��}|�|�dd�d�dS�NrKr.rWrErrr�$test_queryTaggedValue_miss_w_default��z1ElementTests.test_queryTaggedValue_miss_w_defaultcCrIrJ)r>rLrM�getDirectTaggedValuerErrr�test_getDirectTaggedValue_miss�rPz+ElementTests.test_getDirectTaggedValue_misscCrVrJ�r>r"�queryDirectTaggedValuerErrr� test_queryDirectTaggedValue_miss�rZz-ElementTests.test_queryDirectTaggedValue_misscCr[r\rarErrr�*test_queryDirectTaggedValue_miss_w_default�r^z7ElementTests.test_queryDirectTaggedValue_miss_w_defaultcCsR|��}|�dd�|�t|���dg�|�|�d�d�|�|�d�d�dSrQ)r>rTr"rCrDrNrXrErrr�test_setTaggedValue�s
z ElementTests.test_setTaggedValuecCs.ddlm}ddlm}|��}|||�dS)Nr)�IElement��verifyObject)Zzope.interface.interfacesrf�zope.interface.verifyrhr>)r%rfrhrFrrr�
test_verifies�szElementTests.test_verifiesr
)rrrr<r:r>rGrHrOrUrYr]r`rcrdrerjrrrrr7gs
r7c@s0eZdZdd�ZeZdd�Zdd�Zdd�Zd	S)
�GenericSpecificationBaseTestscCr8)Nr)�SpecificationBasePy)r rl)r%rlrrr�_getFallbackClass�r;z/GenericSpecificationBaseTests._getFallbackClasscCs
|���Sr
�r:�r%rrrr>��
z&GenericSpecificationBaseTests._makeOnec�pddlm}ddlm�|��}�fdd�}t||d��|�|�t���Wd�dS1s1wYdS)Nr��	interface��_emptyc��Sr
r��objrtrr�_providedBy��zGGenericSpecificationBaseTests.test_providedBy_miss.<locals>._providedBy��
providedBy)	�zope.interfacers�zope.interface.declarationsrur>�_Monkey�assertFalser|r!)r%rs�sbryrrtr�test_providedBy_miss��"�z2GenericSpecificationBaseTests.test_providedBy_misscrq)Nrrrrtcrvr
rrwrtrr�_implementedBy�rzzMGenericSpecificationBaseTests.test_implementedBy_miss.<locals>._implementedBy��
implementedBy)	r}rsr~rur>rr�r�r!)r%rsr�r�rrtr�test_implementedBy_miss�r�z5GenericSpecificationBaseTests.test_implementedBy_missN)rrrrmr:r>r�r�rrrrrk�s	rkc@�eZdZdd�ZdS)�SpecificationBaseTestscCr8)Nr)�SpecificationBase)r r�)r%r�rrrr:�r;z&SpecificationBaseTests._getTargetClassN�rrrr:rrrrr���r�c@�<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�SpecificationBasePyTestscC�$|��}i|_|�|�t���dSr
�r>�_impliedr�ZisOrExtendsr!�r%r�rrr�test___call___miss��z+SpecificationBasePyTests.test___call___misscC�*|��}t�}|ii|_|�||��dSr
�r>r!r��
assertTrue�r%r�Ztestingrrr�test___call___hit��
z*SpecificationBasePyTests.test___call___hitcCr�r
r�r�rrr�test_isOrExtends_miss�r�z.SpecificationBasePyTests.test_isOrExtends_misscCr�r
r�r�rrr�test_isOrExtends_hit�r�z-SpecificationBasePyTests.test_isOrExtends_hitc�xddlm}|���G�fdd�dt���fdd�}t||d��|���t���Wd�dS1s5wYdS)Nrrrc�eZdZ�iiZdS)z>SpecificationBasePyTests.test_implementedBy_hit.<locals>._DeclN�rrrr�r�r�rr�_Decl�rr�c���Sr
rrw�r�rrr��rzGSpecificationBasePyTests.test_implementedBy_hit.<locals>._implementedByr�)r}rsr>r!rr�r�)r%rsr�r�r�r�r�test_implementedBy_hit��"�z/SpecificationBasePyTests.test_implementedBy_hitcr�)Nrrrcr�)z;SpecificationBasePyTests.test_providedBy_hit.<locals>._DeclNr�rr�rrr��rr�cr�r
rrwr�rrry�rzASpecificationBasePyTests.test_providedBy_hit.<locals>._providedByr{)r}rsr>r!rr�r|)r%rsryrr�r�test_providedBy_hit�r�z,SpecificationBasePyTests.test_providedBy_hitN)	rrrr�r�r�r�r�r�rrrrr��s
r�c@r�)�!NameAndModuleComparisonTestsMixincCs|�dd�S)N�a�b)r>rorrr�_makeOneToComparesz3NameAndModuleComparisonTestsMixin._makeOneToComparec	s�ddl}|��}t||�}t|d|�}G�fdd�dt��Gdd�d��}Gdd�d��}|�|�jd	�|�|�jd	�|�t��t|�d
�Wd�n1sTwY|�t��t|�d�Wd�n1sowY||fD]}|�	||��t
�qxGdd
�d
��}	|�|||	���|�	||	��t
�Gdd�dt�}
|�	||
��t
�|�t��|||
��Wd�n1s�wYGdd�dt
�}|�_|�|��t|�d
�Wd�n1s�wY|�|��t|�d�Wd�n	1�swY||fD]:}|�|��|||��Wd�n	1�s)wY|�|��
||��Wd�n	1�sDwY�qdS)Nrz__%s__cseZdZeZ�fdd�ZdS)zaNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnMissingcs,zt�||�WSty�j}||��wr
)r!�__getattribute__�AttributeError�Exc)r%r=�exc��RaisesErrorOnMissingrrr�s�zrNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnMissing.__getattribute__N)rrrr�r�r�rr�rrr�sr�c@s eZdZdd�Zedd��ZdS)z`NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModulecS�
d|_dS�NrR)rrorrr�__init__rpziNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModule.__init__cS�t�r
)r�rorrrr �zkNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModule.__module__N)rrrr��propertyrrrr�RaisesErrorOnModulesr�c@r�)z^NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnNamecSr�r��rrorrrr�%rpzgNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnName.__init__N�rrrr�rrrr�RaisesErrorOnName$rr�rRrrc@s(eZdZdd�ZeZeZeZeZeZdS)z`NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.AllowsAnyComparisoncS�dS�NTr)r%�otherrrr�__eq__6rzzgNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.AllowsAnyComparison.__eq__N�	rrrr��__lt__�__le__�__gt__�__ge__�__ne__rrrr�AllowsAnyComparison5sr�c@s$eZdZdZeZeZeZeZeZdS)z_NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.AllowsNoComparisonNr�rrrr�AllowsNoComparisonBsr�c@�eZdZdS)zXNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.MyExceptionNrrrrr�MyExceptionO�r�)�operatorr�r#r!r"rrrLr��assertIs�NotImplementedr��	TypeError�	Exceptionr�)r%r=r��ib�opZmethr�r��clsr�r�r�rr�rZ!__check_NotImplemented_comparisonsT
	��	�������zCNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparisoncC�|�d�dS)N�lt��C_NameAndModuleComparisonTestsMixin__check_NotImplemented_comparisonrorrr�test__lt__NotImplemented_�z:NameAndModuleComparisonTestsMixin.test__lt__NotImplementedcCr�)N�ler�rorrr�test__le__NotImplementedbr�z:NameAndModuleComparisonTestsMixin.test__le__NotImplementedcCr�)N�gtr�rorrr�test__gt__NotImplementeder�z:NameAndModuleComparisonTestsMixin.test__gt__NotImplementedcCr�)N�ger�rorrr�test__ge__NotImplementedhr�z:NameAndModuleComparisonTestsMixin.test__ge__NotImplementedN)	rrrr�r�r�r�r�r�rrrrr�sWr�c@sFeZdZdd�Zdd�Zddd�Zd	d
�Zdd�Zd
d�Zdd�Z	dS)�InterfaceBaseTestsMixincCr�r
rrorrrr:orzz'InterfaceBaseTestsMixin._getTargetClasscCr8)Nr)�InterfaceBasePy)r r�)r%r�rrrrmrsz)InterfaceBaseTestsMixin._getFallbackClassFNcs"G�fdd�d|���}|||�S)Ncs eZdZdd�Z�fdd�ZdS)z,InterfaceBaseTestsMixin._makeOne.<locals>.IBcSs||�Sr
r)r%Zconformrrr�
_call_conformy�z:InterfaceBaseTestsMixin._makeOne.<locals>.IB._call_conformcrvr
r�r%rx��object_should_providerrr|{rzz7InterfaceBaseTestsMixin._makeOne.<locals>.IB.providedByN)rrrr�r|rr�rr�IBxsr�rn)r%r�r=�moduler�rr�rr>ws
z InterfaceBaseTestsMixin._makeOnecs:|�d�}t��G�fdd�dt�}|�||����dS)NFc�eZdZ�fdd�ZdS)zUInterfaceBaseTestsMixin.test___call___w___conform___returning_value.<locals>._Adaptedcrvr
r�r%�iface�Z	conformedrr�__conform__�rzzaInterfaceBaseTestsMixin.test___call___w___conform___returning_value.<locals>._Adapted.__conform__N�rrrr�rr�rr�_Adapted�r0r��r>r!r�)r%r�r�rr�r�+test___call___w___conform___returning_values
zCInterfaceBaseTestsMixin.test___call___w___conform___returning_valuecCs8|�d�}||��f}t�}t�}|�|||�|�dS)NF)r>r:r!r�)r%r�Z__traceback_info__�adaptedZ	alternaterrr�7test___call___wo___conform___ob_no_provides_w_alternate�s

zOInterfaceBaseTestsMixin.test___call___wo___conform___ob_no_provides_w_alternatecCsT|�d�}|�t��
}|t��Wd�n1swY|�dt|j��dS)NFzCould not adapt)r>rLr�r!ZassertIn�strZ	exception)r%r�r�rrr�7test___call___w___conform___ob_no_provides_wo_alternate�s

�zOInterfaceBaseTestsMixin.test___call___w___conform___ob_no_provides_wo_alternatecCstj||��dd�dS)Nr�)Zexpected_missing)rZtest_raisesr>rorrr�6test___call___w_no_conform_catches_only_AttributeError�szNInterfaceBaseTestsMixin.test___call___w_no_conform_catches_only_AttributeError)FNN)
rrrr:rmr>r�r�r�r�rrrrr�ls
r�c@r�)�InterfaceBaseTestscCr8)Nr)�
InterfaceBase)r r�)r%r�rrrr:�r;z"InterfaceBaseTests._getTargetClassNr�rrrrr��r�r�c@s*eZdZejZdd�Zdd�Zdd�ZdS)�InterfaceBasePyTestscCs4|�d�}Gdd�dt�}|�}|�||�|�dS)NTc@r�)zSInterfaceBasePyTests.test___call___w___conform___miss_ob_provides.<locals>._AdaptedcS�dSr
rr�rrrr��rzz_InterfaceBasePyTests.test___call___w___conform___miss_ob_provides.<locals>._Adapted.__conform__Nr�rrrrr��rr�r�)r%r�r�r�rrr�,test___call___w___conform___miss_ob_provides�s
zAInterfaceBasePyTests.test___call___w___conform___miss_ob_providescCs&|�d�}t�}|�|�|�|�dSr�)r>r!r��	__adapt__)r%r�r�rrr�test___adapt___ob_provides�s
z/InterfaceBasePyTests.test___adapt___ob_providescs�ddlm}|�d�}t�}g��fdd�}dd�}t|||gd��|�|�|�|�|��||fg�Wd�dS1s@wYdS)	NrrrFcs��||f�dSr
��append�r�rx�Z_missedrr�
_hook_miss��zQInterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooks.<locals>._hook_misscS�|Sr
rr�rrr�	_hook_hit�rzzPInterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooks.<locals>._hook_hit��
adapter_hooks)r}rsr>r!rr�r�r")r%rsr�r�rrrrr�(test___adapt___ob_no_provides_uses_hooks�s
"�z=InterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooksN)	rrrr�rmr:r�r�rrrrrr��s
r�c@s�eZdZdd�Zefdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�SpecificationTestscCr8)Nr)�
Specification)r r	)r%r	rrrr:�r;z"SpecificationTests._getTargetClasscCs|tur	|���S|��|�Sr
)�_markerr:)r%�basesrrrr>�s
zSpecificationTests._makeOnecCsjddlm}|��}|�|jd�|�t|j�d�|�||jv�|�||jv�|�t|j�d�dS)Nr��	Interfacer�)	r r
r>r"�	__bases__�lenr�r��
dependents)r%r
�specrrr�	test_ctor�szSpecificationTests.test_ctorcCs@|��}t�}|�|�|�t|j�d�|�|j|d�dS�N�)r>�DummyDependent�	subscriber"rr�r%r�deprrr�test_subscribe_first_time�s

z,SpecificationTests.test_subscribe_first_timecCs8|��}t�}|�|�|�|�|�|j|d�dS)Nr)r>rrr"rrrrr�test_subscribe_again�s


z'SpecificationTests.test_subscribe_againcCs"|��}t�}|�t|j|�dSr
)r>rrLrM�unsubscriberrrr�test_unsubscribe_miss��z(SpecificationTests.test_unsubscribe_misscCs\|��}t�}|�|�|�|�|�|�|�|j|d�|�|�|�||jv�dSr)r>rrrr"rr�rrrr�test_unsubscribe�s



z#SpecificationTests.test_unsubscribecCs�ddlm}|��}t�}|�|�Gdd�d|�}Gdd�d|�}|f|_|�|j|g�|�|j|d�|f|_|�|j�	|�d�|�|j|d�dS)Nrrc@r�)zVSpecificationTests.test___setBases_subscribes_bases_and_notifies_dependents.<locals>.INrrrrr�I�r�r c@r�)zVSpecificationTests.test___setBases_subscribes_bases_and_notifies_dependents.<locals>.JNrrrrr�J�r�r!r)
r r
r>rrrr"�_changedr�get)r%r
rrr r!rrr�8test___setBases_subscribes_bases_and_notifies_dependents�s
zKSpecificationTests.test___setBases_subscribes_bases_and_notifies_dependentscCs^ddlm}Gdd�d|�}|��}d|_d|j|<|�|�|�|j�|�||jv�dS)Nrrc@r�)zGSpecificationTests.test_changed_clears_volatiles_and_implied.<locals>.INrrrrrr r�r rr)r r
r>�_v_attrsr��changed�assertIsNoner�)r%r
r rrrr�)test_changed_clears_volatiles_and_implieds

z<SpecificationTests.test_changed_clears_volatiles_and_impliedcCsDddlm}Gdd�d|�}|�||g�}|�t|���|g�dS)Nrrc@r�)zCSpecificationTests.test_interfaces_skips_already_seen.<locals>.IFooNrrrrr�IFoor�r))r r
r>r"rC�
interfaces�r%r
r)rrrr�"test_interfaces_skips_already_seen
sz5SpecificationTests.test_interfaces_skips_already_seencCs>ddlm}Gdd�d|�}|�|�}|�|j|dd��dS)Nrrc@r�)z<SpecificationTests.test_extends_strict_wo_self.<locals>.IFooNrrrrrr)r�r)T��strict)r r
r>r��extendsr+rrr�test_extends_strict_wo_selfs
z.SpecificationTests.test_extends_strict_wo_selfcC� |��}|�|j|dd��dS)NTr-)r>r�r/�r%rrrr�test_extends_strict_w_selfr^z-SpecificationTests.test_extends_strict_w_selfcCr1)NFr-)r>r�r/r2rrr�test_extends_non_strict_w_selfr^z1SpecificationTests.test_extends_non_strict_w_selfcCs0|��}t�}d|i|_|�|�d�|u�dSr�)r>r!r%r�r#)r%rrRrrr�test_get_hit_w__v_attrs#s
z*SpecificationTests.test_get_hit_w__v_attrscs�ddlm�ddlm}G�fdd�d|�}G�fdd�d|�}|�||g�}|�|�d�|�d�u�|�|�d	�|�d	�u�dS)
Nr��	Attributerc�eZdZ�d�ZdS)zCSpecificationTests.test_get_hit_from_base_wo__v_attrs.<locals>.IFoorRN)rrrrRrr6rrr),rr)cr8)zCSpecificationTests.test_get_hit_from_base_wo__v_attrs.<locals>.IBarr.N�rrrr.rr6rr�IBar.rr:rRr.)r r7r
r>r�r#)r%r
r)r:rrr6r�"test_get_hit_from_base_wo__v_attrs)sz5SpecificationTests.test_get_hit_from_base_wo__v_attrsc
	Cs�ddlm}ddlm}ddlm}Gdd�d|�}Gdd�dt�}Gd	d
�d
|�}Gdd�d|�}||�Gd
d�dt��}Gdd�d||�}	|�||	�j||	�||�|||�|t�|f�dS)Nrr��implementerr�c@r�)zTSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.IDefaultViewNameNrrrrr�IDefaultViewName>r�r>c@r�)zKSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.ContextNrrrrr�ContextAr�r?c@r�)zLSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.RDBModelNrrrrr�RDBModelDr�r@c@r�)zJSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.IOtherNrrrrr�IOtherGr�rAc@r�)zMSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.OtherBaseNrrrrr�	OtherBaseJ�rBc@r�)zISpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.ModelNrrrrr�ModelNr�rD)r r
r~r=r�r!r"Z__sro__)
r%r
r=r�r>r?r@rArBrDrrr�'test_multiple_inheritance_no_interfaces4s(��z:SpecificationTests.test_multiple_inheritance_no_interfacesN)rrrr:r
r>rrrrrr$r(r,r0r3r4r5r;rErrrrr�s"	
rc@s�eZdZdd�Z		dfdd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�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=�Zd>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]�Z/d^d_�Z0d`da�Z1dbdc�Z2ddde�Z3dS)g�InterfaceClassTestscCr8)Nr��InterfaceClass)r rH)r%rHrrrr:`r;z#InterfaceClassTests._getTargetClass�ITestrNcCs|��|||||�Sr
rn)r%r=r�attrsrArrrrr>dszInterfaceClassTests._makeOnecCsN|��}|d�}|�|jd�|�|jd�|�|jd�|�|��d�dS)N�ITestingr?r)r:r"rrAr�getBases)r%�klass�instrrrrGhsz&InterfaceClassTests.test_ctor_defaultscCs |��}|�t|dt�f�dS)NrK)r:rLr�r!)r%rMrrr�test_ctor_bad_basespr^z'InterfaceClassTests.test_ctor_bad_basescCs�ddlm}ddlm}dd�}|dd�||�d�}|��}|d	|d
�}|�|jd	�|�|jd�|�|jd�|�|��|�	��dS)Nrr6��fromFunctioncSr���	DOCSTRINGNrrrrr�_barw�zBInterfaceClassTests.test_ctor_w_attrs_attrib_methods.<locals>._barrr?�rRr.rK�rJr)
r r7rQr:r"rrAr�names�keys)r%r7rQrT�ATTRSrMrNrrr� test_ctor_w_attrs_attrib_methodsts�z4InterfaceClassTests.test_ctor_w_attrs_attrib_methodscC�^dii}|��}|d|d�}|�|jd�|�|jd�|�|jd�|�t|���g�dS)NZ
__locals__rKrWr?r�r:r"rrArrCrX�r%rZrMrNrrr�test_ctor_attrs_w___locals__��z0InterfaceClassTests.test_ctor_attrs_w___locals__cCr\)N�__annotations__rKrWr?rr]r^rrr�!test_ctor_attrs_w___annotations__�r`z5InterfaceClassTests.test_ctor_attrs_w___annotations__cCsjddlm}d|i}|��}|d|d�}|�|jd�|�|jd�|�|jd�|�t|���g�dS)Nr)�_decorator_non_returnZdropmerKrWr?r)	r rcr:r"rrArrCrX)r%rcrZrMrNrrr�'test_ctor_attrs_w__decorator_non_return�sz;InterfaceClassTests.test_ctor_attrs_w__decorator_non_returncCs4ddlm}dt�i}|��}|j||d|d�dS)Nr)�InvalidInterfaceZinvalidrKrW)�zope.interface.exceptionsrer!r:rL)r%rerZrMrrr�#test_ctor_attrs_w_invalid_attr_type�s
z7InterfaceClassTests.test_ctor_attrs_w_invalid_attr_typecCs0ddi}|��}|d|dd�}|�|jd�dS)NrAZATTRrKZEXPLICIT)rJrA)r:r"rAr^rrr�test_ctor_w_explicit___doc__�sz0InterfaceClassTests.test_ctor_w_explicit___doc__cCs"|��}|�t|���|g�dSr
)r>r"rCr*r�rrr�test_interfaces�sz#InterfaceClassTests.test_interfacescCs.|��}|jd|fd�}|�|��|f�dS�NZISub)r)r>r"rL�r%r��subrrr�
test_getBases�sz!InterfaceClassTests.test_getBasescCs|��}|�|�|��dSr
)r>r��isEqualOrExtendedByr�rrr�!test_isEqualOrExtendedBy_identity�rPz5InterfaceClassTests.test_isEqualOrExtendedBy_identitycCs<|��}|jd|fd�}|�|�|��|�|�|��dSrj)r>r�rnr�rkrrr�!test_isEqualOrExtendedBy_subiface�sz5InterfaceClassTests.test_isEqualOrExtendedBy_subifacecCs8|�d�}|�d�}|�|�|��|�|�|��dS)NZOneZAnother)r>r�rn)r%�oneZanotherrrr�"test_isEqualOrExtendedBy_unrelated�s

z6InterfaceClassTests.test_isEqualOrExtendedBy_unrelatedcCs�ddlm}ddlm}dd�}|dd�||�d�}d	|d
d�i}|jd|d�}|jd
|f|d�}|�t|jdd��d	g�dS)Nrr6rPcSr�rRrrrrrrT�rUzFInterfaceClassTests.test_names_w_all_False_ignores_bases.<locals>._barrr?rVr/�Baz�IBaserW�IDerived�rrJF��all�r r7rQr>r"�sortedrX�r%r7rQrT�
BASE_ATTRS�
DERIVED_ATTRS�base�derivedrrr�$test_names_w_all_False_ignores_bases�s�z8InterfaceClassTests.test_names_w_all_False_ignores_basescCs`ddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�t|jd
d��dd
g�dS)Nrr6rPcSr�rRrrrrrrT�rUz@InterfaceClassTests.test_names_w_all_True_no_bases.<locals>._barrr?rVrWTrwr.rRry�r%r7rQrTrZrqrrr�test_names_w_all_True_no_bases�s� z2InterfaceClassTests.test_names_w_all_True_no_basescCs�ddlm}ddlm}dd�}|dd�||�d�}d	|d
d�i}|jd|d�}|jd
|f|d�}|�t|jdd��gd��dS)Nrr6rPcSr�rRrrrrrrT�rUzFInterfaceClassTests.test_names_w_all_True_w_bases_simple.<locals>._barrr?rVr/rsrtrWrurvTrw�r.r/rRryr{rrr�$test_names_w_all_True_w_bases_simple�s� z8InterfaceClassTests.test_names_w_all_True_w_bases_simplec	Cs�ddlm}ddlm}dd�}dd�}|dd	�||�d
�}||�|dd	�d�}|jd
|d�}|jd|f|d�}|�t|jdd��gd��dS)Nrr6rPcSr�rRrrrrrrT�rUzJInterfaceClassTests.test_names_w_all_True_bases_w_same_names.<locals>._barcSr�rRrrrrr�_foo�rUzJInterfaceClassTests.test_names_w_all_True_bases_w_same_names.<locals>._foorr?rVrs�rRr/rtrWrurvTrwr�ry�	r%r7rQrTr�r|r}r~rrrr�(test_names_w_all_True_bases_w_same_names�s�� z<InterfaceClassTests.test_names_w_all_True_bases_w_same_namesc	Cs�ddlm}ddlm}dd�}dd�}|dd	�||�d
�}||�|dd	�d�}|jd
|d�}|jd|f|d�}|�t|�gd��dS)Nrr6rPcSr�rRrrrrrrT�rUz/InterfaceClassTests.test___iter__.<locals>._barcSr�rRrrrrrr�rUz/InterfaceClassTests.test___iter__.<locals>._foorr?rVrsr�rtrWrurvr�)r r7rQr>r"rzr�rrr�
test___iter__�s��z!InterfaceClassTests.test___iter__cCs�ddlm}ddlm}dd�}|dd�||�d�}d	|d
d�i}|jd|d�}|jd
|f|d�}|�t|jdd��d	|d	fg�dS)Nrr6rPcSr�rRrrrrrrTrUzUInterfaceClassTests.test_namesAndDescriptions_w_all_False_ignores_bases.<locals>._barrr?rVr/rsrtrWrurvFrw�r r7rQr>r"rz�namesAndDescriptionsr{rrr�3test_namesAndDescriptions_w_all_False_ignores_bases
s��zGInterfaceClassTests.test_namesAndDescriptions_w_all_False_ignores_basescCspddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�t|jd
d��d|dfd
|d
fg�dS)Nrr6rPcSr�rRrrrrrrT rUzOInterfaceClassTests.test_namesAndDescriptions_w_all_True_no_bases.<locals>._barrr?rVrWFrwr.rRr�r�rrr�-test_namesAndDescriptions_w_all_True_no_basess�

��zAInterfaceClassTests.test_namesAndDescriptions_w_all_True_no_basescCs�ddlm}ddlm}dd�}|dd�||�d�}d	|d
d�i}|jd|d�}|jd
|f|d�}|�t|jdd��d|dfd	|d	fd|dfg�dS)Nrr6rPcSr�rRrrrrrrT.rUzMInterfaceClassTests.test_namesAndDescriptions_w_all_True_simple.<locals>._barrr?rVr/rsrtrWrurvTrwr.rRr�r{rrr�+test_namesAndDescriptions_w_all_True_simple+s�


��z?InterfaceClassTests.test_namesAndDescriptions_w_all_True_simplec	Cs�ddlm}ddlm}dd�}dd�}|dd	�||�d
�}||�|dd	�d�}|jd
|d�}|jd|f|d�}|�t|jdd��d|dfd|dfd|dfg�dS)Nrr6rPcSr�rRrrrrrrT@rUzYInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_names.<locals>._barcSr�rRrrrrrr�BrUzYInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_names.<locals>._foorr?rVrsr�rtrWrurvTrwr.r/rRr�r�rrr�7test_namesAndDescriptions_w_all_True_bases_w_same_names=s$��


��zKInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_namescCrIrJ)r>rLrM�getDescriptionFor�r%rqrrr�test_getDescriptionFor_missRrPz/InterfaceClassTests.test_getDescriptionFor_misscCspddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�|�d
�|d
�|�|�d�|d�dS)Nrr6rPcSr�rRrrrrrrTYrUz<InterfaceClassTests.test_getDescriptionFor_hit.<locals>._barrr?rVrWrRr.)r r7rQr>r"r�r�rrr�test_getDescriptionFor_hitVs�z.InterfaceClassTests.test_getDescriptionFor_hitcs$|����fdd�}|�t|�dS)Ncs�dSrJrr�rqrr�_testdr�z8InterfaceClassTests.test___getitem___miss.<locals>._test)r>rLrM)r%r�rr�r�test___getitem___missbsz)InterfaceClassTests.test___getitem___misscCslddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�|d
|d
�|�|d|d�dS)Nrr6rPcSr�rRrrrrrrTkrUz6InterfaceClassTests.test___getitem___hit.<locals>._barrr?rVrWrRr.)r r7rQr>r"r�rrr�test___getitem___hiths�z(InterfaceClassTests.test___getitem___hitcCs|��}|�d|v�dSrJ)r>r�r�rrr�test___contains___misstsz*InterfaceClassTests.test___contains___misscCs`ddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�d
|v�|�d|v�dS)Nrr6rPcSr�rRrrrrrrT{rUz7InterfaceClassTests.test___contains___hit.<locals>._barrr?rVrWrRr.)r r7rQr>r�r�rrr�test___contains___hitxs�z)InterfaceClassTests.test___contains___hitcCrVrJ)r>r"�directr�rrr�test_direct_miss�rZz$InterfaceClassTests.test_direct_missc	Cs�ddlm}ddlm}dd�}dd�}|dd	�||�d
�}||�|dd	�d�}|jd
|d�}|jd|f|d�}|�|�d�|d�|�|�d�|d�|�|�d�d�dS)Nrr6rPcSr�rRrrrrrrT�rUzBInterfaceClassTests.test_direct_hit_local_miss_bases.<locals>._barcSr�rRrrrrrr��rUzBInterfaceClassTests.test_direct_hit_local_miss_bases.<locals>._foorr?rVrsr�rtrWrurvrRr/r.)r r7rQr>r"r�r�rrr� test_direct_hit_local_miss_bases�s��z4InterfaceClassTests.test_direct_hit_local_miss_basescCrVrJ)r>r"�queryDescriptionForr�rrr�test_queryDescriptionFor_miss�rZz1InterfaceClassTests.test_queryDescriptionFor_misscCs@ddlm}d|dd�i}|j|d�}|�|�d�|d�dS)Nrr6�attrZTitleZDescriptionrW)r}r7r>r"r�)r%r7rZr�rrr�test_queryDescriptionFor_hit�sz0InterfaceClassTests.test_queryDescriptionFor_hitcsVg��fdd�}|��}t�}|�d|g�|�|�|�d�|��|fifg�dS)Nc���||f�dSr�r�r�Z_called_withrr�	_passable��zCInterfaceClassTests.test_validateInvariants_pass.<locals>._passabler)r>r!rTr"�validateInvariants)r%r�r�rxrr�r�test_validateInvariants_pass�sz0InterfaceClassTests.test_validateInvariants_passcs�ddlm�g��fdd�}g���fdd�}|��}t�}|�d||g�|��|j|�|��|fifg�|��|fifg�dS)Nr��Invalidcr�r�r�r��_passable_called_withrrr��r�zTInterfaceClassTests.test_validateInvariants_fail_wo_errors_passed.<locals>._passablec���||f���r
r�r�r��_fail_called_withrr�_fail�r�zPInterfaceClassTests.test_validateInvariants_fail_wo_errors_passed.<locals>._failr�rfr�r>r!rTrLr�r")r%r�r�r�rxr�r�r�r�r�-test_validateInvariants_fail_wo_errors_passed�szAInterfaceClassTests.test_validateInvariants_fail_wo_errors_passedcs�ddlm�g}g���fdd�}|��}t�}|�d|g�|��|j||�|��|fifg�|�t|�d�|�	t
|d���dS)Nrr�cr�r
r�rr�rrr��r�zOInterfaceClassTests.test_validateInvariants_fail_w_errors_passed.<locals>._failrr�rfr�r>r!rTrLr�r"rr��
isinstance)r%�_errorsr�r�rxrr�r�,test_validateInvariants_fail_w_errors_passed�sz@InterfaceClassTests.test_validateInvariants_fail_w_errors_passedcs�ddlm�g��fdd�}g���fdd�}|�d�}|�d|f�}t�}|�d	|g�|�d	|g�|��|j|�|��|fifg�|��|fifg�dS)
Nrr�cr�r�r�rr�rrr��r�z\InterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passed.<locals>._passablecr�r
r�rr�rrr��r�zXInterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passed.<locals>._failrtrurr�)r%r�r�r~rrxrr�r�5test_validateInvariants_fail_in_base_wo_errors_passed�s
zIInterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passedcs�ddlm�g}g��fdd�}g���fdd�}|�d�}|�d|f�}t�}|�d	|g�|�d	|g�|��|j||�|��|fifg�|��|fifg�|�t|�d
�|�	t
|d���dS)Nrr�cr�r�r�rr�rrr��r�z[InterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passed.<locals>._passablecr�r
r�rr�rrr��r�zWInterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passed.<locals>._failrtrurrr�)r%r�r�r�r~rrxrr�r�4test_validateInvariants_fail_in_base_w_errors_passed�s 
zHInterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passedcsZg��fdd�}t�}|�d�}|�d|g�|�d|f�}|�|�|�dt���dS)Ncr�r�r�rr�rrr��r�zbInterfaceClassTests.test_validateInvariants_inherited_not_called_multiple_times.<locals>._passablertrrur)r!r>rTr�r"r)r%r�rxr~rrr�r�;test_validateInvariants_inherited_not_called_multiple_times�s

zOInterfaceClassTests.test_validateInvariants_inherited_not_called_multiple_timescCs|�d�}|�|��d�dS)NZPickleMe)r>r"�
__reduce__r�rrr�test___reduce__s
z#InterfaceClassTests.test___reduce__cCs"|�d�}|�t|�td��dS)N�HashMe)r�z#zope.interface.tests.test_interface)r>r"�hashr�rrr�test___hash___normals

�z(InterfaceClassTests.test___hash___normalcCsRGdd�d|���}|�}|�t��
t|�Wd�dS1s"wYdS)Nc@r�)zIInterfaceClassTests.test___hash___missing_required_attrs.<locals>.DerivedcSr�r
rrorrrr�rzzRInterfaceClassTests.test___hash___missing_required_attrs.<locals>.Derived.__init__Nr�rrrr�Derivedrr�)r:rLr�r�)r%r�rrrr�$test___hash___missing_required_attrss

"�z8InterfaceClassTests.test___hash___missing_required_attrscCs�|��}|�|dk�|�|dk�|�|dk�|�|dk�|�|dk�|�|dk�|�d|k�|�d|k�|�d|k�|�d|k�|�d|k�|�d|k�dSr
�r>r�r�r�rrr�test_comparison_with_Nonesz-InterfaceClassTests.test_comparison_with_NonecCs`|��}|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�dSr
)r>r�r�r�rrr�"test_comparison_with_same_instance*sz6InterfaceClassTests.test_comparison_with_same_instancecCs�|jddd�}|jddd�}|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�dS)N�INamezzope.interface.tests.oner�zzope.interface.tests.otherr�)r%rqr�rrr�8test_comparison_with_same_named_instance_in_other_module5szLInterfaceClassTests.test_comparison_with_same_named_instance_in_other_modulecs�Gdd�dt��G�fdd�d|���}|�d�}|�||���|�t|�|���|�t��|d�Wd�n1s?wY||_|�||�|�t|�|�|����
|d�Wd�dS1sjwYdS)Nc@r�)zDInterfaceClassTests.test_assignment_to__class__.<locals>.MyExceptionNrrrrrr�Ir�r�cr�)zIInterfaceClassTests.test_assignment_to__class__.<locals>.MyInterfaceClasscs�|��r
r)r%�target�r�rr�__call__Mr�zRInterfaceClassTests.test_assignment_to__class__.<locals>.MyInterfaceClass.__call__N�rrrr�rr�rr�MyInterfaceClassLr0r�r�r)	r�r:r>�assertIsInstancer��typerLr��	__class__)r%r�r)rr�r�test_assignment_to__class__Gs

�
"�z/InterfaceClassTests.test_assignment_to__class__cCs�ddlm}Gdd�d|���}|d|f�}|�|d�d�Gdd	�d	|�}|�|d�d�Gd
d�d|�}|�t��|�Wd�n1sIwY||_|�|d�d�dS)Nrrc@r�)zJInterfaceClassTests.test_assignment_to__class__2.<locals>.MyInterfaceClasscWrr
r)r%rrrrr�drzzSInterfaceClassTests.test_assignment_to__class__2.<locals>.MyInterfaceClass.__call__Nr�rrrrr�crr�r)r)rc@r�)z>InterfaceClassTests.test_assignment_to__class__2.<locals>.IBarNrrrrrr:jr�r:c@r�)z?InterfaceClassTests.test_assignment_to__class__2.<locals>.ISpamNrrrrr�ISpamor�r�)r}r
r:r"rLr�r�)r%r
r�r)r:r�rrr�test_assignment_to__class__2^s�z0InterfaceClassTests.test_assignment_to__class__2cCsB|��}|�ttf��d|_Wd�dS1swYdS)Nzdifferent.module)r>rLr�r�r)r%rNrrr�test__module__is_readonlyxs"�z-InterfaceClassTests.test__module__is_readonly)rIrNNN)4rrrr:r>rGrOr[r_rbrdrgrhrirmrorprrr�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�rrrrrF^sh
�		
rFc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%e&dGdH��Z'dIdJ�Z(dKdL�Z)dMdN�Z*dOdP�Z+dQdR�Z,dSdT�Z-dUdV�Z.dWdX�Z/dYdZ�Z0d[d\�Z1d]d^�Z2d_d`�Z3dadb�Z4dcdd�Z5dedf�Z6dgdh�Z7didj�Z8dkS)l�InterfaceTestscsDddlm}ddlm�G�fdd�d|�}|�|dj|u�dS)Nrrr6cr8)z<InterfaceTests.test_attributes_link_to_interface.<locals>.I1�My attrN)rrrr�rr6rr�I1�rr�r�)r}r
r7r�rs�r%r
r�rr6r�!test_attributes_link_to_interface�sz0InterfaceTests.test_attributes_link_to_interfacecCs4ddlm}Gdd�d|�}|�|dj|u�dS)Nrrc@r�)z9InterfaceTests.test_methods_link_to_interface.<locals>.I1cSr��zA methodNr)rRr.Zbingorrr�method�rUz@InterfaceTests.test_methods_link_to_interface.<locals>.I1.methodN�rrrr�rrrrr���r�r�)r}r
r�rsr�rrr�test_methods_link_to_interface�sz-InterfaceTests.test_methods_link_to_interfacecs�ddlm}ddlm}ddlm}Gdd�d|��Gdd�d|�}G�fd	d
�d
t�}|�}|���|��|�|�|��|����|��||�v�|�|||�v�|��||�v�|�|||�v�dS)Nrrr�r{c@r)z<InterfaceTests.test_classImplements_simple.<locals>.ICurrentcSr�r
r�r�r�rrr�method1�rzzDInterfaceTests.test_classImplements_simple.<locals>.ICurrent.method1cSr�r
rr�rrr�method2�rzzDInterfaceTests.test_classImplements_simple.<locals>.ICurrent.method2N)rrrr�r�rrrr�ICurrent��r�c@r�)z:InterfaceTests.test_classImplements_simple.<locals>.IOtherNrrrrrrA�r�rAcs eZdZ�Zdd�Zdd�ZdS)z;InterfaceTests.test_classImplements_simple.<locals>.CurrentcSrr
r�r%r�r�rrrr��rzCInterfaceTests.test_classImplements_simple.<locals>.Current.method1cSrr
rr�rrrr��rzCInterfaceTests.test_classImplements_simple.<locals>.Current.method2N)rrr�__implemented__r�r�r�r�rr�Current�sr�)r}r
r�r|r!r�r�r")r%r
r�r|rAr��currentrr�r�test_classImplements_simple�sz*InterfaceTests.test_classImplements_simplecs�ddlm}ddlm}ddlm}Gdd�d|��Gdd�d��}G�fd	d
�d
�}|�}|���|��|�|�|��|��||�v�|�|||�v�|��||�v�|�|||�v�dS)Nrrr�r{c@r�)zCInterfaceTests.test_classImplements_base_not_derived.<locals>.IBasecSr�r
rrrrrr��rzzJInterfaceTests.test_classImplements_base_not_derived.<locals>.IBase.methodNr�rrrrrt�rrtc@r�)zFInterfaceTests.test_classImplements_base_not_derived.<locals>.IDerivedNrrrrrru�r�ruc�eZdZ�Zdd�ZdS)zEInterfaceTests.test_classImplements_base_not_derived.<locals>.CurrentcSrr
rrorrrr��rzLInterfaceTests.test_classImplements_base_not_derived.<locals>.Current.methodN�rrrr�r�r�rtrrr���r�)r}r
r�r|r�r�)r%r
r�r|rur�r�rr�r�%test_classImplements_base_not_derived�sz4InterfaceTests.test_classImplements_base_not_derivedcs�ddlm}ddlm}ddlm}Gdd�d|�}Gdd�d|��G�fd	d
�d
t�}|�}|�|�|��|���|��|�|||�v�|�|||���v�|��||�v�|�|||�v�|�|||���v�|��||�v�dS)Nrrr�r{c@r�)zCInterfaceTests.test_classImplements_base_and_derived.<locals>.IBasecSr�r
rrrrrr��rzzJInterfaceTests.test_classImplements_base_and_derived.<locals>.IBase.methodNr�rrrrrt�rrtc@r�)zFInterfaceTests.test_classImplements_base_and_derived.<locals>.IDerivedNrrrrrru�r�rucr�)zEInterfaceTests.test_classImplements_base_and_derived.<locals>.CurrentcSrr
rrorrrr��rzLInterfaceTests.test_classImplements_base_and_derived.<locals>.Current.methodNr�r�rurrr��r�r�)r}r
r�r|r!r�r�Z	flattened)r%r
r�r|rtr�r�rr�r�%test_classImplements_base_and_derived�sz4InterfaceTests.test_classImplements_base_and_derivedcs�ddlm}ddlm}ddlm}Gdd�d|��Gdd�d���G�fd	d
�d
t�}G�fdd�dt�}Gd
d�d||�}|�}|���|��|���|��|��||�v�|��||�v�|��||�v�|��||�v�dS)Nrrr�r{c@r�)z;InterfaceTests.test_classImplements_multiple.<locals>.ILeftcSr�r
rrrrrr��rzzBInterfaceTests.test_classImplements_multiple.<locals>.ILeft.methodNr�rrrr�ILeft�rr�c@r�)z<InterfaceTests.test_classImplements_multiple.<locals>.IRightNrrrrr�IRight�r�r�cr�)z:InterfaceTests.test_classImplements_multiple.<locals>.LeftcSrr
rrorrrr��rzAInterfaceTests.test_classImplements_multiple.<locals>.Left.methodNr�r�r�rr�Left��r�c�eZdZ�ZdS)z;InterfaceTests.test_classImplements_multiple.<locals>.RightN�rrrr�r�r�rr�Right��r�c@r�)z:InterfaceTests.test_classImplements_multiple.<locals>.AmbiNrrrrr�Ambi�r�r�)r}r
r�r|r!r�)r%r
r�r|r�r�r�Zambir)r�r�r�test_classImplements_multiple�sz,InterfaceTests.test_classImplements_multiplecsLddlm}ddlm}ddlm}Gdd�d|��Gdd�d���Gd	d
�d
|��G�fdd�d��G�fd
d�dt�}G�fdd�dt��G��fdd�d�|�}|�}|���|��|���|��|���|��|��||�v�|��||�v�|��||�v�|��||�v�|��||�v�|��||�v�dS)Nrrr�r{c@r�)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.ILeftcSr�r
rrrrrr�rzzWInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.ILeft.methodNr�rrrrr�r�r�c@r�)zQInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.IRightNrrrrrr�r�r�c@r�)zQInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.IOtherNrrrrrrAr�rAcr�)zOInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.LeftcSrr
rrorrrr�rzVInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.Left.methodNr�rr�rrr�r�r�cr�)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.RightNr�rr�rrr�r�r�cr�)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.OtherNr�r)rArr�Other r�r�cseZdZ�j�jfZdS)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.MixedNr�r)r�r�rr�Mixed#r0r�)r}r
r�r|r!r�r�)r%r
r�r|r�r�Zmixedr)r�rAr�r�r�r�2test_classImplements_multiple_w_explict_implementss(zAInterfaceTests.test_classImplements_multiple_w_explict_implementscCs�ddlm}|j}|d�}|d|f�}|d�}|d||f�}|�|�|��|�|�|��|�|�|��|�|�|��|�|�|��|�|�|��|�|�|��dS)Nrr�FunInterface�BarInterface�BobInterface�BazInterface)r}r
r�r�r/r�)r%r
�newr�r�r�r�rrr�testInterfaceExtendsInterface2sz,InterfaceTests.testInterfaceExtendsInterfacecs`ddlm�ddlm}ddlm}G�fdd�d|��G�fdd�dt�}|�|�|��dS)	Nrr6r)�verifyClassc�eZdZ�d�Zdd�ZdS)z1InterfaceTests.test_verifyClass.<locals>.ICheckMer�cSr�r�rrrrrr�LrUz8InterfaceTests.test_verifyClass.<locals>.ICheckMe.methodN�rrrr�r�rr6rr�ICheckMeIr�rc�eZdZ�ZdZdd�ZdS)z0InterfaceTests.test_verifyClass.<locals>.CheckMe�valuecSrr
rrorrrr�Srz7InterfaceTests.test_verifyClass.<locals>.CheckMe.methodN�rrrr�r�r�r�rrr�CheckMeO�r
)r}r7r
rirr!r�)r%r
rr
r�r7rr�test_verifyClassCszInterfaceTests.test_verifyClasscsfddlm�ddlm}ddlm}G�fdd�d|��G�fdd�dt�}|�}|�|�|��dS)	Nrr6rrgcr)z2InterfaceTests.test_verifyObject.<locals>.ICheckMer�cSr�r�rrrrrr�arUz9InterfaceTests.test_verifyObject.<locals>.ICheckMe.methodNrrr6rrr^r�rcr)z1InterfaceTests.test_verifyObject.<locals>.CheckMercSrr
rrorrrr�hrz8InterfaceTests.test_verifyObject.<locals>.CheckMe.methodNrrr	rrr
drr
)r}r7r
rirhr!r�)r%r
rhr
Zcheck_merrr�test_verifyObjectXsz InterfaceTests.test_verifyObjectcCs0ddlm}Gdd�d|�}|�|�|��dS)Nrrc@r�)zLInterfaceTests.test_interface_object_provides_Interface.<locals>.AnInterfaceNrrrrr�AnInterfacerr�r)r}r
r�r|)r%r
rrrr�(test_interface_object_provides_Interfaceo�z7InterfaceTests.test_interface_object_provides_InterfacecsHddlm�ddlm}G�fdd�d|�}|�t|���ddg�dS)Nrr6rcr)z1InterfaceTests.test_names_simple.<locals>.ISimpler�cSr�r
rrrrrr�rzz8InterfaceTests.test_names_simple.<locals>.ISimple.methodNrrr6rr�ISimple|r�rr�r��r}r7r
r"rzrX�r%r
rrr6r�test_names_simplew�z InterfaceTests.test_names_simplecsxddlm�ddlm}G�fdd�d|�}G�fdd�d|�}|�t|���gd��|�t|jd	d
��gd��dS)Nrr6rcr)z0InterfaceTests.test_names_derived.<locals>.IBaser�cSr�r
rrrrrr��rzz7InterfaceTests.test_names_derived.<locals>.IBase.methodNrrr6rrrt�r�rtc�$eZdZ�d�Zdd�Zdd�ZdS)z3InterfaceTests.test_names_derived.<locals>.IDerived�My attr2cSr�r
rrrrrr��rzz:InterfaceTests.test_names_derived.<locals>.IDerived.methodcSr�r
rrrrrr��rzz;InterfaceTests.test_names_derived.<locals>.IDerived.method2N�rrr�attr2r�r�rr6rrru��ru)rr�r�Trw�r�rr�r�r�r%r
rtrurr6r�test_names_derived�s	��z!InterfaceTests.test_names_derivedcsddlm�ddlm}ddlm}G�fdd�d|�}t|���}|�t|�d�|�|ddd�|�	t
|dd	���|�|dd	jd�|�|dd	jd
�|�|d	dd�|�	t
|d	d	|��|�|d	d	jd�|�|d	d	jd�dS)
Nrr6��Methodrcr)z@InterfaceTests.test_namesAndDescriptions_simple.<locals>.ISimpler�cSr���	My methodNrrrrrr��rUzGInterfaceTests.test_namesAndDescriptions_simple.<locals>.ISimple.methodNrrr6rrr�r�rrr�rr�r�r")
r}r7r r r
rzr�r"rr�r�rrA)r%r r
r�name_valuesrr6r� test_namesAndDescriptions_simple�sz/InterfaceTests.test_namesAndDescriptions_simplecs�ddlm�ddlm}ddlm}G�fdd�d|�}G�fdd�d|�}t|���}|�t|�d	�|�|ddd
�|�	t
|dd���|�|ddjd
�|�|ddjd�|�|ddd
�|�	t
|dd|��|�|ddjd
�|�|ddjd�|�|ddd�|�	t
|dd|��|�|ddjd�|�|ddjd�t|jdd��}|�t|�d�|�|ddd�|�	t
|dd���|�|ddjd�|�|ddjd�|�|ddd
�|�	t
|dd���|�|ddjd
�|�|ddjd�|�|ddd
�|�	t
|dd|��|�|ddjd
�|�|ddjd�|�|d	dd�|�	t
|d	d|��|�|d	djd�|�|d	djd�dS)Nrr6rrcr)z?InterfaceTests.test_namesAndDescriptions_derived.<locals>.IBaser�cSr�r!rrrrrr��rUzFInterfaceTests.test_namesAndDescriptions_derived.<locals>.IBase.methodNrrr6rrrt�r�rtcr)zBInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerivedrcSr���My method, overriddenNrrrrrr��rUzIInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerived.methodcSr���
My method2Nrrrrrr��rUzJInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerived.method2Nrrr6rrru�rru�rrrr�r&rr�r(Trw�r�r�)
r}r7r
r r rzr�r"rr�r�rrA)r%r
r rtrur#rr6r�!test_namesAndDescriptions_derived�sJ	z0InterfaceTests.test_namesAndDescriptions_derivedcC�0ddlm}Gdd�d|�}|�t|jd�dS)Nrrc@r�)zIInterfaceTests.test_getDescriptionFor_nonesuch_no_default.<locals>.IEmptyNrrrrr�IEmpty�r�r-rK)r}r
rLrMr��r%r
r-rrr�*test_getDescriptionFor_nonesuch_no_default�rz9InterfaceTests.test_getDescriptionFor_nonesuch_no_defaultcs�ddlm�ddlm}ddlm}G�fdd�d|�}|�d�}|�t|���|�|j	d�|�|j
d�|�d	�}|�t||��|�|j	d	�|�|j
d
�dS)Nrr6rrcr)z=InterfaceTests.test_getDescriptionFor_simple.<locals>.ISimpler�cSr�r!rrrrrr��rUzDInterfaceTests.test_getDescriptionFor_simple.<locals>.ISimple.methodNrrr6rrr�r�rr�r�r�r"�r}r7r r r
r�r�r�r"rrA�r%r r
r�a_desc�m_descrr6r�test_getDescriptionFor_simple�s

z,InterfaceTests.test_getDescriptionFor_simplec	s(ddlm�ddlm}ddlm}G�fdd�d|�}G�fdd�d|�}|�d	�}|�t|���|�|j	d	�|�|j
d
�|�d�}|�t||��|�|j	d�|�|j
d�|�d
�}|�t|���|�|j	d
�|�|j
d�|�d�}|�t||��|�|j	d�|�|j
d�dS)Nrr6rrcr)z<InterfaceTests.test_getDescriptionFor_derived.<locals>.IBaser�cSr�r!rrrrrr�rUzCInterfaceTests.test_getDescriptionFor_derived.<locals>.IBase.methodNrrr6rrrtr�rtcr)z?InterfaceTests.test_getDescriptionFor_derived.<locals>.IDerivedrcSr�r%rrrrrr�rUzFInterfaceTests.test_getDescriptionFor_derived.<locals>.IDerived.methodcSr�r'rrrrrr�rUzGInterfaceTests.test_getDescriptionFor_derived.<locals>.IDerived.method2Nrrr6rrrurrur�r�r�r&rrr�r(r0�	r%r r
rtrur2r3Za2_descZm2_descrr6r�test_getDescriptionFor_deriveds*
	


z-InterfaceTests.test_getDescriptionFor_derivedcCr,)Nrrc@r�)z7InterfaceTests.test___getitem__nonesuch.<locals>.IEmptyNrrrrrr-8r�r-rK)r}r
rLrM�__getitem__r.rrr�test___getitem__nonesuch5rz'InterfaceTests.test___getitem__nonesuchcs�ddlm�ddlm}ddlm}G�fdd�d|�}|d}|�t|���|�|jd�|�|j	d�|d	}|�t||��|�|jd	�|�|j	d
�dS)Nrr6rrcr)z6InterfaceTests.test___getitem__simple.<locals>.ISimpler�cSr�r!rrrrrr�FrUz=InterfaceTests.test___getitem__simple.<locals>.ISimple.methodNrrr6rrrCr�rr�r�r�r"�
r}r7r r r
r�r�r"rrAr1rr6r�test___getitem__simple=sz%InterfaceTests.test___getitem__simplec	s ddlm�ddlm}ddlm}G�fdd�d|�}G�fdd�d|�}|d	}|�t|���|�|jd	�|�|j	d
�|d}|�t||��|�|jd�|�|j	d�|d
}|�t|���|�|jd
�|�|j	d�|d}|�t||��|�|jd�|�|j	d�dS)Nrr6rrcr)z6InterfaceTests.test___getitem___derived.<locals>.IBaser�cSr�r!rrrrrr�\rUz=InterfaceTests.test___getitem___derived.<locals>.IBase.methodNrrr6rrrtYr�rtcr)z9InterfaceTests.test___getitem___derived.<locals>.IDerivedrcSr�r%rrrrrr�brUz@InterfaceTests.test___getitem___derived.<locals>.IDerived.methodcSr�r'rrrrrr�erUzAInterfaceTests.test___getitem___derived.<locals>.IDerived.method2Nrrr6rrru_rrur�r�r�r&rrr�r(r9r5rr6r�test___getitem___derivedSs*	z'InterfaceTests.test___getitem___derivedcCs.ddlm}Gdd�d|�}|�d|v�dS)Nrrc@r�)z8InterfaceTests.test___contains__nonesuch.<locals>.IEmptyNrrrrrr-r�r-rK)r}r
r�r.rrr�test___contains__nonesuch|sz(InterfaceTests.test___contains__nonesuchcsLddlm�ddlm}G�fdd�d|�}|�d|v�|�d|v�dS)Nrr6rcr)z7InterfaceTests.test___contains__simple.<locals>.ISimpler�cSr�r!rrrrrr��rUz>InterfaceTests.test___contains__simple.<locals>.ISimple.methodNrrr6rrr�r�rr�r��r}r7r
r�rrr6r�test___contains__simple�s
z&InterfaceTests.test___contains__simplecs|ddlm�ddlm}G�fdd�d|�}G�fdd�d|�}|�d|v�|�d	|v�|�d
|v�|�d|v�dS)Nrr6rcr)z6InterfaceTests.test___contains__derived.<locals>.IBaser�cSr�r!rrrrrr��rUz=InterfaceTests.test___contains__derived.<locals>.IBase.methodNrrr6rrrt�r�rtcr)z9InterfaceTests.test___contains__derived.<locals>.IDerivedrcSr�r%rrrrrr��rUz@InterfaceTests.test___contains__derived.<locals>.IDerived.methodcSr�r'rrrrrr��rUzAInterfaceTests.test___contains__derived.<locals>.IDerived.method2Nrrr6rrru�rrur�r�rr�r=rrr6r�test___contains__derived�s	z'InterfaceTests.test___contains__derivedcCs0ddlm}Gdd�d|�}|�t|�g�dS)Nrrc@r�)z1InterfaceTests.test___iter__empty.<locals>.IEmptyNrrrrrr-�r�r-)r}r
r"rCr.rrr�test___iter__empty�rz!InterfaceTests.test___iter__emptycsHddlm�ddlm}G�fdd�d|�}|�tt|��ddg�dS)Nrr6rcr)z3InterfaceTests.test___iter__simple.<locals>.ISimpler�cSr�r!rrrrrr��rUz:InterfaceTests.test___iter__simple.<locals>.ISimple.methodNrrr6rrr�r�rr�r��r}r7r
r"rzrCrrr6r�test___iter__simple�rz"InterfaceTests.test___iter__simplecs\ddlm�ddlm}G�fdd�d|�}G�fdd�d|�}|�tt|��gd��dS)	Nrr6rcr)z2InterfaceTests.test___iter__derived.<locals>.IBaser�cSr�r!rrrrrr��rUz9InterfaceTests.test___iter__derived.<locals>.IBase.methodNrrr6rrrt�r�rtcr)z5InterfaceTests.test___iter__derived.<locals>.IDerivedrcSr�r%rrrrrr��rUz<InterfaceTests.test___iter__derived.<locals>.IDerived.methodcSr�r'rrrrrr��rUz=InterfaceTests.test___iter__derived.<locals>.IDerived.method2Nrrr6rrru�rrurrArrr6r�test___iter__derived�s	�z#InterfaceTests.test___iter__derivedcCs:ddlm}Gdd�d|�}|d}|�|�d�d�dS)Nrrc@seZdZdd�Zde_dS)zLInterfaceTests.test_function_attributes_become_tagged_values.<locals>.ITagMecSr�r
rrrrrr��rzzSInterfaceTests.test_function_attributes_become_tagged_values.<locals>.ITagMe.methodrN)rrrr��optionalrrrr�ITagMe�s
rEr�rDr)r}r
r"rN)r%r
rEr�rrr�-test_function_attributes_become_tagged_values�sz<InterfaceTests.test_function_attributes_become_tagged_valuescCs>ddlm}Gdd�d|�}|�|jd�|�t|�g�dS)Nrrc@�eZdZdZdS)z@InterfaceTests.test___doc___non_element.<locals>.IHaveADocString�xxxN�rrrrArrrr�IHaveADocString�r�rJrH)r}r
r"rArC�r%r
rJrrr�test___doc___non_element�sz'InterfaceTests.test___doc___non_elementcsPddlm�ddlm}G�fdd�d|�}|�|jd�|�t|�dg�dS)Nrr6rc�eZdZdZ�d�ZdS)z?InterfaceTests.test___doc___as_element.<locals>.IHaveADocStringrH�the docNrIrr6rrrJ�r�rJr?rA)r}r7r
r"rArCrKrr6r�test___doc___as_element�s
z&InterfaceTests.test___doc___as_elementc

Cs�ddlm}|�||j|�g}z
|�||�|�d�Wn|y8}z|�|jd|�WYd}~nd}~ww|�t|�|�dd�|D�}|��|D]}	|�|	|�	d��qNdS)Nrr�z&validateInvariants should always raisecSsg|]}|jd�qS)r�r)�.0�errorrrr�
<listcomp>sz/InterfaceTests._errorsEqual.<locals>.<listcomp>)
rfr�rLr��failr"rr�sort�pop)
r%�
has_invariantZ	error_lenZ
error_msgsr�r��erRZmsgs�msgrrr�_errorsEqual�s ���zInterfaceTests._errorsEqualcs�ddlm�ddlm}ddlm}ddlm�G��fdd�d|�}Gdd	�d	t�}|�}|||�|�|�d
�tg�|�|�	|�d�d|_
|�|�	|�d�d|_|�|�	|�d�|`
|�|d
dg|�dS)Nrr6r��directlyProvidesrc�$eZdZ�d�Z�d�Z�e�dS)z8InterfaceTests.test_invariant_simple.<locals>.IInvariantrR�*bar; must eval to Boolean True if foo doesN�rrrrRr.�
_ifFooThenBarr�r7r	rr�
IInvariant�rbc@r�)z:InterfaceTests.test_invariant_simple.<locals>.HasInvariantNrrrrr�HasInvariantr�rdr��*r�If Foo, then Bar!)
r}r7r
r\r	r!r"rNr`r�r.rRrZ)r%r
r\rbrdrWrrar�test_invariant_simples(
��z$InterfaceTests.test_invariant_simplecsddlm�ddlm}ddlm}ddlm�G��fdd�d|�}G�fdd	�d	|�}Gd
d�dt�}|�|�d�tg�|�}|||�d
|_	|�
|ddg|�d|_	d|_|�
|ddg|�d|_	d|_|�
|dddg|�d|_	d|_|�|�|�d�dS)Nrr6rr[rcr])z8InterfaceTests.test_invariant_nested.<locals>.IInvariantrRr^Nr_rrarrrb*rcrbcseZdZ�e�dS)z;InterfaceTests.test_invariant_nested.<locals>.ISubInvariantN)rrr�_barGreaterThanFoorrrr�
ISubInvariant/rrjc@r�)z:InterfaceTests.test_invariant_nested.<locals>.HasInvariantNrrrrrrd2r�rdrrfrrgr�%Please, Boo MUST be greater than Foo!)
r}r7r
r\r	r!r"rNrirRrZr.r�)r%r
r\rbrjrdrWrrar�test_invariant_nested$sB�
����z$InterfaceTests.test_invariant_nestedcsddlm�ddlm}ddlm}ddlm�G��fdd�d|�}Gdd	�d	t�}|�}|||�d
|_|�d�}|dd�}|�t	�|�
d|�|�|dd
g|�d|_d|_|�|ddg|�d|_d|_|�|dd
dg|�d|_d|_|�
|�|�d�|�
d|�dS)Nrr6rr[rcr])z:InterfaceTests.test_invariant_mutandis.<locals>.IInvariantrRr^Nr_rrarrrbYrcrbc@r�)z<InterfaceTests.test_invariant_mutandis.<locals>.HasInvariantNrrrrrrd^r�rdrfrrrgrrk)r}r7r
r\r	r!rRrNr�rirTrZr.r"r�)r%r
r\rbrdrWZold_invariantsrrrar�test_invariant_mutandisSsB


����z&InterfaceTests.test_invariant_mutandiscs~ddlm}ddlm�Gdd�d|�}|�|jd�|�t|�g�G�fdd�d|�}|�|jd	�|�t|�d
g�dS)Nrrr6c@rG)z7InterfaceTests.test___doc___element.<locals>.IDocstringrHNrIrrrr�
IDocstring�r�rnrHcrM)zCInterfaceTests.test___doc___element.<locals>.IDocstringAndAttributerHrNNrIrr6rr�IDocstringAndAttribute�r�ror?rA)r}r
r7r"rArC)r%r
rnrorr6r�test___doc___element�sz#InterfaceTests.test___doc___elementcCs>ddlm}Gdd�d|�}Gdd�d�}|�t|j|�dS)Nrrc@rG)z&InterfaceTests.testIssue228.<locals>.IrHNrIrrrrr �r�r c@seZdZdZdS)z-InterfaceTests.testIssue228.<locals>.OldStyleN)rrrZ__providedBy__rrrr�OldStyle�r�rq)r}r
rLr�r|)r%r
r rqrrr�testIssue228�szInterfaceTests.testIssue228c
s�ddlm}ddlm�ddlm}ddlm�ddlm�G���fdd�d|�}||�Gd	d
�d
t��}|�|dd��|�|dd��z|�|dd��WdS�yl}z|�	t
|�d
�WYd}~dSd}~ww)Nrrr6r<rr�cs,eZdZ�d�Z�d�Z��fdd��ZdS)z:InterfaceTests.test_invariant_as_decorator.<locals>.IRangezLower boundzUpper boundcs|j|jkr
�d��dS)N�	max < min)�max�min)Zobr�rr�range_invariant�s�zJInterfaceTests.test_invariant_as_decorator.<locals>.IRange.range_invariantN)rrrrurtrvr�r7r�r	rr�IRange�s
rxc@r�)z9InterfaceTests.test_invariant_as_decorator.<locals>.RangecSs|||_|_dSr
)rurt)r%rurtrrrr��rzBInterfaceTests.test_invariant_as_decorator.<locals>.Range.__init__Nr�rrrr�Range�sryrrrs)r}r
r7r=r	rfr�r!r�r"r�)r%r
r=rxryrXrrwr�test_invariant_as_decorator�s 	��z*InterfaceTests.test_invariant_as_decoratorcs�ddlm�ddlm}ddlm�G��fdd�d|�}G�fdd�d|�}Gd	d
�d
|�}|�|�d�d�|�t|jd
�|�t|�	��dg�|�|�d�d�|�|�d
�d�|�t
|�	��t
dd
g��dS)Nrr6rr,cs&eZdZ�d�Z�d�Z�dd�dS)z0InterfaceTests.test_taggedValue.<locals>.ITaggedrRr^r2�SpamN)rrrrRr.r�r7r-rr�ITagged�sr}cs eZdZ�dd��dd�dS)z1InterfaceTests.test_taggedValue.<locals>.IDerivedr2�	Spam SpamrRr.Nrrr,rrru�s
ruc@r�)z2InterfaceTests.test_taggedValue.<locals>.IDerived2Nrrrrr�	IDerived2�r�rr2r{rRr~r.)r}r7r
r-r"rNrLrMrCrD�set)r%r
r}rurrr|r�test_taggedValue�s zInterfaceTests.test_taggedValuec	s�ddlm�ddlm�|}G��fdd�d|�}G��fdd�d|�}G��fdd	�d	|�}G��fd
d�d||�}Gdd
�d
||�}Gdd�d||�}|S)Nrr,r6c�eZdZ�dd��d�ZdS)z0InterfaceTests._make_taggedValue_tree.<locals>.F�tag�FN�rrrr�rr|rrr���
r�cr�)z0InterfaceTests._make_taggedValue_tree.<locals>.Er��ENr�rr|rrr��r�r�cr�)z0InterfaceTests._make_taggedValue_tree.<locals>.Dr��DNr�rr|rrr��r�r�cr�)z0InterfaceTests._make_taggedValue_tree.<locals>.Cr��CNr�rr|rrr��r�r�c@r�)z0InterfaceTests._make_taggedValue_tree.<locals>.BNrrrrr�B�r�r�c@r�)z0InterfaceTests._make_taggedValue_tree.<locals>.ANrrrrr�A�r�r�)r}r-r7)	r%r~�Or�r�r�r�r�r�rr|r�_make_taggedValue_tree�sz%InterfaceTests._make_taggedValue_treecCs�ddlm}|�t�}|�|jjd�|�|�}|�|djd�|�|�d�d�|�|�d�d�|j	djdks=J�|j	d�
dd�|�|�d�d�dS)Nrrr�r�r�)r}r
r�r!r"r�rrNrXrrT)r%r
Zclass_AZiface_Arrr�"test_getTaggedValue_follows__iro__�s

z1InterfaceTests.test_getTaggedValue_follows__iro__cCsddlm}|�|�}|�|�d��|�gt|����|�t	��
|�
d�Wd�n1s2wY|�dd�|�|�d�d�|�|�
d�d�|�dgt|����|jdj
dksdJ�|jd}|�|�d�d�|�|�
d�d�|�dgt|����dS)Nrrr�r�rr�)r}r
r�r'rbr"rCrSrLrMr_rTrr)r%r
r�r�rrr�(test_getDirectTaggedValue_ignores__iro__
s 
�
z7InterfaceTests.test_getDirectTaggedValue_ignores__iro__cs�ddlm}ddlm�G�fdd�d|�}Gdd�d|�}Gdd	�d	|�}|�|�d
�|�d
�u�|f|_|�|�d
�du�dS)Nrrr6cr8)z<InterfaceTests.test_description_cache_management.<locals>.I1r�N)rrrr�rr6rrr�'rr�c@r�)z<InterfaceTests.test_description_cache_management.<locals>.I2Nrrrrr�I2*r�r�c@r�)z<InterfaceTests.test_description_cache_management.<locals>.I3Nrrrrr�I3-r�r�r�)r}r
r7r�r#r)r%r
r�r�r�rr6r�!test_description_cache_management sz0InterfaceTests.test_description_cache_managementcCsVddlm}ddlm}Gdd�d|�}||�Gdd�dt��}|�||��d�dS)Nrrr<c@r�)z>InterfaceTests.test___call___defers_to___conform___.<locals>.INrrrrrr 9r�r c@r�)z>InterfaceTests.test___call___defers_to___conform___.<locals>.CcSr�)Nrr)r%�protorrrr�>rzzJInterfaceTests.test___call___defers_to___conform___.<locals>.C.__conform__Nr�rrrrr�<r�r�)r}r
r=r!r")r%r
r=r r�rrr�$test___call___defers_to___conform___5sz3InterfaceTests.test___call___defers_to___conform___cCs\ddlm}ddlm}Gdd�d|�}||�Gdd�dt��}|�}|�||�|u�dS)Nrrr<c@r�)z9InterfaceTests.test___call___object_implements.<locals>.INrrrrrr Gr�r c@r�)z9InterfaceTests.test___call___object_implements.<locals>.CNrrrrrr�JrCr�)r}r
r=r!r�)r%r
r=r r��crrr�test___call___object_implementsCsz.InterfaceTests.test___call___object_implementscCsDddlm}Gdd�d|�}Gdd�dt�}|�}|�t||�dS)Nrrc@r�)z9InterfaceTests.test___call___miss_wo_alternate.<locals>.INrrrrrr Tr�r c@r�)z9InterfaceTests.test___call___miss_wo_alternate.<locals>.CNrrrrrr�Wr�r�)r}r
r!rLr��r%r
r r�r�rrr�test___call___miss_wo_alternateQs
z.InterfaceTests.test___call___miss_wo_alternatecCsJddlm}Gdd�d|�}Gdd�dt�}|�}|�|||�|u�dS)Nrrc@r�)z8InterfaceTests.test___call___miss_w_alternate.<locals>.INrrrrrr `r�r c@r�)z8InterfaceTests.test___call___miss_w_alternate.<locals>.CNrrrrrr�cr�r�)r}r
r!r�r�rrr�test___call___miss_w_alternate]s
z-InterfaceTests.test___call___miss_w_alternatec	
s�ddlm}ddlm}dd�}�fdd�}Gdd	�d	|�}Gd
d�dt�}|�}|dd�}||g|dd�<z��||��u�W||dd�<dS||dd�<w)NrrrcSr�r
rr�rrr�_missmrzz:InterfaceTests.test___call___w_adapter_hook.<locals>._misscrvr
rr�rorr�_hitprzz9InterfaceTests.test___call___w_adapter_hook.<locals>._hitc@r�)z6InterfaceTests.test___call___w_adapter_hook.<locals>.INrrrrrr sr�r c@r�)z6InterfaceTests.test___call___w_adapter_hook.<locals>.CNrrrrrr�vr�r�)r}r
r rr!r�)	r%r
rr�r�r r�r�Zold_adapter_hooksrror�test___call___w_adapter_hookisz+InterfaceTests.test___call___w_adapter_hookcsxddlm}ddlm�ddlm}G�fdd�d|�}||�Gdd�dt��}|�d	|t���|�d	||���dS)
Nrr��interfacemethodr<c�eZdZ�dd��ZdS)z:InterfaceTests.test___call___w_overridden_adapt.<locals>.IcSr��Nrfrr�rrrr��r�zDInterfaceTests.test___call___w_overridden_adapt.<locals>.I.__adapt__N�rrrr�rr�rrr �sr c@r�)z:InterfaceTests.test___call___w_overridden_adapt.<locals>.ONrrrrrr��rCr�rf)r}r
r�r=r!r")r%r
r=r r�rr�r� test___call___w_overridden_adapt�sz/InterfaceTests.test___call___w_overridden_adaptcs�ddlm}ddlm�ddlm}G�fdd�d|�}Gdd�d|�}||�Gd	d
�d
t��}||�Gdd�dt��}|�d
|t���|�d||���|�d||���|�t��
||��Wd�n1slwY|�d
||���dS)Nrrr�r<cr�)zKInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.IAdaptcSr�r�rr�rrrr��r�zUInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.IAdapt.__adapt__Nr�rr�rr�IAdapt��r�c@rG)zLInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ISimplezNothing special.NrIrrrrr�r�rc@r�)zNInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.Conform24cSr��N�rr�rrrr��rzzZInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.Conform24.__conform__Nr�rrrr�	Conform24�r�r�c@r�)zPInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ConformNonecSr�r
rr�rrrr��rzz\InterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ConformNone.__conform__Nr�rrrr�ConformNone�r�r�rfr�)r}r
r�r=r!r"rLr�)r%r
r=r�rr�r�rr�r�,test___call___w_overridden_adapt_and_conform�s �z;InterfaceTests.test___call___w_overridden_adapt_and_conformcs�ddl�ddlm}ddlm�ddlm}G���fdd�d|��|��Gdd�dt��}|�d	�t���|�}|�|�|��dS)
Nrrr�r<cs$eZdZ����fdd��Z�ZS)zEInterfaceTests.test___call___w_overridden_adapt_call_super.<locals>.Ics@|�|�sdS�jdd�dkrt��|�Stt��|��|�S)Nrfr)r)�)r|�version_info�superr�r�r�)r r��sysrrr��s

zOInterfaceTests.test___call___w_overridden_adapt_call_super.<locals>.I.__adapt__)rrrr��
__classcell__r�r r�r�)r�rr �sr c@r�)zEInterfaceTests.test___call___w_overridden_adapt_call_super.<locals>.ONrrrrrr��rCr�rf)r�r}r
r�r=r!r"r�)r%r
r=r��orr�r�+test___call___w_overridden_adapt_call_super�sz:InterfaceTests.test___call___w_overridden_adapt_call_supercsVddlm}ddlm�G�fdd�d|�}|�d|t���|�|d��d�dS)	Nrrr�cs eZdZ�dd��Zdd�ZdS)zEInterfaceTests.test___adapt___as_method_and_implementation.<locals>.IcSr�r�rr�rrrr��r�zOInterfaceTests.test___adapt___as_method_and_implementation.<locals>.I.__adapt__cSr�)zThis is a protocolNr)Zto_adaptrrrr��rUNr�rr�rrr �s
r rfr�z
(to_adapt))r}r
r�r"r!�getSignatureString�r%r
r rr�r�+test___adapt___as_method_and_implementation�s
z:InterfaceTests.test___adapt___as_method_and_implementationc	sNddlm}ddlm�Gdd�d|�}G�fdd�d|�}Gdd	�d	|�}Gd
d�d|�}Gdd
�d
|||�}G�fdd�d|�}|�d|t���|||||fD]	}|�t|j�qR|||fD]}|�t|�t|��qa|�t|�t|��|�t|�t|��|�	|t|��|�d|t���|�t|�t|��|�	|t|��dS)Nrrr�c@rG)z@InterfaceTests.test___adapt__inheritance_and_type.<locals>.IRootZRootNrIrrrr�IRoot�r�r�cr�)zEInterfaceTests.test___adapt__inheritance_and_type.<locals>.IWithAdaptcSr�r�rr�rrrr��r�zOInterfaceTests.test___adapt__inheritance_and_type.<locals>.IWithAdapt.__adapt__Nr�rr�rr�
IWithAdapt�r�r�c@rG)zAInterfaceTests.test___adapt__inheritance_and_type.<locals>.IOtherz
Second branchNrIrrrrrA�r�rAc@rG)zEInterfaceTests.test___adapt__inheritance_and_type.<locals>.IUnrelatedZ	UnrelatedNrIrrrr�
IUnrelated�r�r�c@rG)zHInterfaceTests.test___adapt__inheritance_and_type.<locals>.IDerivedAdaptzInherits an adaptNrIrrrr�
IDerivedAdapt�r�r�cseZdZdZ�dd��ZdS)zIInterfaceTests.test___adapt__inheritance_and_type.<locals>.IDerived2Adaptz$Overrides an inherited custom adapt.cSr�r�rr�rrrr��r�zSInterfaceTests.test___adapt__inheritance_and_type.<locals>.IDerived2Adapt.__adapt__N)rrrrAr�rr�rr�IDerived2Adapt�sr�rfr�)
r}r
r�r"r!rrr�ZassertNotEqualr�)	r%r
r�r�rAr�r�r�r�rr�r�"test___adapt__inheritance_and_type�s&z1InterfaceTests.test___adapt__inheritance_and_typecsPddlm}ddlm�G�fdd�d|�}|�||�d�|�|��d�dS)Nrrr�cs$eZdZ�dd��Z�dd��ZdS)z9InterfaceTests.test_interfacemethod_is_general.<locals>.IcSr�)zReplace an existing methodrfrr�rrrr�	szBInterfaceTests.test_interfacemethod_is_general.<locals>.I.__call__cSr�r�rrorrr�this_is_new	r�zEInterfaceTests.test_interfacemethod_is_general.<locals>.I.this_is_newN)rrrr�r�rr�rrr 	s

r rf)r}r
r�r"r�r�rr�r�test_interfacemethod_is_general	s
z.InterfaceTests.test_interfacemethod_is_generalN)9rrrr�r�r�r�r�r�r�rr
rrrrr$r+r/r4r6r8r:r;r<r>r?r@rBrCrFrLrOrZrhrlrmrprrrrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��sn	
!+
9))
	/5
$,r�c@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�AttributeTests�
TestAttributecCr8)Nrr6)r r7)r%r7rrrr:&	r;zAttributeTests._getTargetClasscCsJ|��}t|�|_t|�}|�|�d�|�|�|�dtd�|�dS)N�-<zope.interface.interface.Attribute object at� z.AttributeTests.TestAttribute>)r>r�rs�reprr��
startswith�endswithr�r%r��rrrr�test__repr__w_interface*	s

z&AttributeTests.test__repr__w_interfacecCs8|��}t|�}|�|�d�|�|�|�d�|�dS)Nr�z TestAttribute>)r>r�r�r�r�r�rrr�test__repr__wo_interface1	sz'AttributeTests.test__repr__wo_interfacecCs.|��}t|�|_t|�}|�|td�dS)Nz.AttributeTests.TestAttribute)r>r�rsr�r"rr�rrr�test__str__w_interface7	s
z%AttributeTests.test__str__w_interfacecCs |��}t|�}|�|d�dS)Nr�)r>r�r"r�rrr�test__str__wo_interface=	sz&AttributeTests.test__str__wo_interfaceN)	rrrr<r:r�r�r�r�rrrrr�"	sr�c@sxeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�MethodTestsZ
TestMethodcCr8)Nrr)r r )r%r rrrr:G	r;zMethodTests._getTargetClasscCsH|��}|�|ji�ddi|_|�|jddi�|`|�|ji�dSrQ)r>r"rD�r%r�rrr�test_optional_as_propertyK	s
z%MethodTests.test_optional_as_propertyc
Csrddlm}|��}z|�Wn"|y1}z|�|jd�|�|j|j�WYd}~dSd}~ww|�d�dS)Nr)�BrokenImplementationz*__call__ should raise BrokenImplementation)rfr�r>r"rsr=r<rT)r%r�r�rXrrr�)test___call___raises_BrokenImplementationS	s
��z5MethodTests.test___call___raises_BrokenImplementationcCsl|��}|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|dd�dS)N�
positional�requiredrD�varargs�kwargs)r>�getSignatureInfor"rC)r%r��inforrr�test_getSignatureInfo_bare^	sz&MethodTests.test_getSignatureInfo_barecCs|��}|�|��d�dS)Nz())r>r"r�r�rrr�test_getSignatureString_bareg	rPz(MethodTests.test_getSignatureString_barecCs*|��}dg|_|_|�|��d�dS)NrRz(foo))r>r�r�r"r�r�rrr�'test_getSignatureString_w_only_requiredk	sz3MethodTests.test_getSignatureString_w_only_requiredcCs4|��}dg|_|_ddi|_|�|��d�dS)NrRr.z(foo='bar'))r>r�r�rDr"r�r�rrr�"test_getSignatureString_w_optionalp	s
z.MethodTests.test_getSignatureString_w_optionalcC�"|��}d|_|�|��d�dS)Nrz(*args))r>r�r"r�r�rrr�!test_getSignatureString_w_varargsv	rz-MethodTests.test_getSignatureString_w_varargscCr�)Nrz(**kw))r>r�r"r�r�rrr� test_getSignatureString_w_kwargs{	rz,MethodTests.test_getSignatureString_w_kwargscCsP|��}d|_t|�|_t|�}|�|�d�|�|�|�dtd�|�dS)Nr�*<zope.interface.interface.Method object atr�z.MethodTests.TestMethod(**kw)>)	r>r�r�rsr�r�r�r�rr�rrrr��	s
z#MethodTests.test__repr__w_interfacecCs>|��}d|_t|�}|�|�d�|�|�|�d�|�dS)Nrr�z TestMethod(**kw)>)r>r�r�r�r�r�r�rrrr��	s
z$MethodTests.test__repr__wo_interfacecCs4|��}d|_t|�|_t|�}|�|td�dS)Nrz.MethodTests.TestMethod(**kw))r>r�r�rsr�r"rr�rrrr��	s

z"MethodTests.test__str__w_interfacecCs&|��}d|_t|�}|�|d�dS)NrzTestMethod(**kw))r>r�r�r"r�rrrr��	sz#MethodTests.test__str__wo_interfaceN)rrrr<r:r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�C	s	r�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�Test_fromFunctioncO�ddlm}||i|��S)NrrP)r rQ)r%rrrQrrr�_callFUT�	�zTest_fromFunction._callFUTcC�dd�}|�|�}|�|��d�|�|��d�|�|jd�|�t|���g�|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|d	d�dS)
NcSr�rRrrrrr�_func�	rUz*Test_fromFunction.test_bare.<locals>._funcr�rSr�r�rDr�r��r�r"r@rBrsrCrDr��r%r�r�r�rrr�	test_bare�	�
zTest_fromFunction.test_barecCsDddlm}Gdd�d|�}dd�}|j||d�}|�|j|�dS)NrrGc@r�)z0Test_fromFunction.test_w_interface.<locals>.IFooNrrrrrr)�	r�r)cSr�rRrrrrrr��	rUz1Test_fromFunction.test_w_interface.<locals>._funcrr)r rHr�r"rs)r%rHr)r�r�rrr�test_w_interface�	s
z"Test_fromFunction.test_w_interfacecCs*dd�}|j|dd�}|�|��d�dS)NcSr�rRrrrrrr��	rUz,Test_fromFunction.test_w_name.<locals>._funcZanotherName)r=)r�r"r@)r%r�r�rrr�test_w_name�	szTest_fromFunction.test_w_namecCszdd�}|�|�}|��}|�t|d�dg�|�t|d�dg�|�|di�|�|dd�|�|dd�dS)	NcSr�rRr�rRrrrr��	rUz5Test_fromFunction.test_w_only_required.<locals>._funcr�rRr�rDr�r��r�r�r"rCr�rrr�test_w_only_required�	s
z&Test_fromFunction.test_w_only_requiredcCs~d
dd�}|�|�}|��}|�t|d�dg�|�t|d�g�|�|dddi�|�|dd�|�|d	d�dS)Nr.cSr�rRrr�rrrr��	rUz0Test_fromFunction.test_w_optional.<locals>._funcr�rRr�rDr�r��r.r�r�rrr�test_w_optional�	s

z!Test_fromFunction.test_w_optionalcCs|ddd�}|j|dd�}|��}|�t|d�g�|�t|d�g�|�|di�|�|d	d�|�|d
d�dS)Nr.cSr�rRrrorrrr��	rUz5Test_fromFunction.test_w_optional_self.<locals>._funcr)Zimlevelr�r�rDr�r�r�r�r�rrr�test_w_optional_self�	s
z&Test_fromFunction.test_w_optional_selfcCsvdd�}|�|�}|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|dd�dS)	NcWr�rRrrPrrrr��	rUz/Test_fromFunction.test_w_varargs.<locals>._funcr�r�rDr�rr�r�r�rrr�test_w_varargs�	�
z Test_fromFunction.test_w_varargscCsvdd�}|�|�}|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|dd�dS)	Nc[r�rRr)rrrrr��	rUz.Test_fromFunction.test_w_kwargs.<locals>._funcr�r�rDr�r�rr�r�rrr�
test_w_kwargs�	r�zTest_fromFunction.test_w_kwargscCs�d
dd�}|�|�}|��}|�t|d�ddg�|�t|d�dg�|�|dddi�|�|d	d
�|�|dd�dS)Nr/c_r�rRr)rRr.rrrrrr�
rUz3Test_fromFunction.test_full_spectrum.<locals>._funcr�rRr.r�rDr�rr�r�r/r�r�rrr�test_full_spectrum�	s

z$Test_fromFunction.test_full_spectrumN)
rrrr�r�r�r�r�r�r�r�r�r�rrrrr��	s	r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�Test_fromMethodcOr�)Nr)�
fromMethod)r r�)r%rrr�rrrr�
r�zTest_fromMethod._callFUTcCs�Gdd�dt�}|�|j�}|�|��d�|�|��d�|�|jd�|�t|���g�|�	�}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|d	d�dS)
Nc@r�)z)Test_fromMethod.test_no_args.<locals>.FoocSr�rRrrorrrr.
rUz-Test_fromMethod.test_no_args.<locals>.Foo.barNr9rrrrr
rrr.rSr�r�rDr�r�)
r!r�r.r"r@rBrsrCrDr��r%rr�r�rrr�test_no_args
szTest_fromMethod.test_no_argscCs�Gdd�dt�}|�|j�}|��}|�t|d�ddg�|�t|d�dg�|�|dddi�|�|d	d
�|�|dd�dS)
Nc@seZdZddd�ZdS)z/Test_fromMethod.test_full_spectrum.<locals>.Foor/c_r�rRr)r%rRr.rrrrrr.#
rUz3Test_fromMethod.test_full_spectrum.<locals>.Foo.barNr�r9rrrrr"
srr�rRr.r�rDr/r�rr�r)r!r�r.r�r"rCr�rrrr�!
sz"Test_fromMethod.test_full_spectrumcCr�)
NcSr�rRrrrrrrR.
rUz.Test_fromMethod.test_w_non_method.<locals>.foorRrSr�r�rDr�r�r�)r%rRr�r�rrr�test_w_non_method-
r�z!Test_fromMethod.test_w_non_methodN)rrrr�r�r�r�rrrrr�
s
r�c@r)rcCs
g|_dSr
)r"rorrrr�>
rpzDummyDependent.__init__cCs|j�|�dSr
)r"r�)r%Zoriginally_changedrrrr&A
szDummyDependent.changedN)rrrr�r&rrrrr<
srcCsVddlm}t|dd�}t|dd�}|dur%t|t|��r'||ks)|d��dSdSdS)Nrr�rRr.rk)rfr�r#r�r�)rxr�rRr.rrrriE
s�ricCs4ddlm}t|dd�rt|dd�s|d��dSdS)Nrr�rRr.rg)rfr�r#)rxr�rrrr`Q
s�r`c@r*)rcs<�|_�fdd�|D�|_|��D]
\}}t�||�qdS)Ncsi|]}|t�|��qSr)r#)rQ�key�r�rr�
<dictcomp>[
sz$_Monkey.__init__.<locals>.<dictcomp>)r��
to_restore�items�setattr)r%r�rr�rrr�rr�Y
s
�z_Monkey.__init__cCs|Sr
rrorrr�	__enter___
rzz_Monkey.__enter__cCs&|j��D]\}}t|j||�qdSr
)r�r�r�r�)r%�exc_typeZexc_val�exc_tbr�rrrr�__exit__b
s�z_Monkey.__exit__N)rrrr�r�rrrrrrW
sr) rAZunittestZzope.interface._compatrZzope.interface.testsrrrr!r
ZTestCaserr+r7rkr�r�r�r�r�r�rrFr�r�r�r�r�rrir`rrrrr�<module>s^

!$H�.i-�	&+!Zn1	

Youez - 2016 - github.com/yon3zu
LinuXploit