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_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)�ElementTests�	AnElementcC�ddlm}|S)Nr)�Element)r r:)r%r:rrr�_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"rrBrFrrr�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�getTaggedValuerFrrr�test_getTaggedValue_miss��z%ElementTests.test_getTaggedValue_misscCsB|��}|�gt|����|�dd�|�dgt|����dS�N�foor.)r?r"rD�getDirectTaggedValueTags�setTaggedValuerFrrr�test_getDirectTaggedValueTags�sz*ElementTests.test_getDirectTaggedValueTagscC�|��}|�|�d�d�dSrK�r?r"�queryTaggedValuerFrrr�test_queryTaggedValue_miss��z'ElementTests.test_queryTaggedValue_misscC� |��}|�|�dd�d�dS�NrLr.rXrFrrr�$test_queryTaggedValue_miss_w_default��z1ElementTests.test_queryTaggedValue_miss_w_defaultcCrJrK)r?rMrN�getDirectTaggedValuerFrrr�test_getDirectTaggedValue_miss�rQz+ElementTests.test_getDirectTaggedValue_misscCrWrK�r?r"�queryDirectTaggedValuerFrrr� test_queryDirectTaggedValue_miss�r[z-ElementTests.test_queryDirectTaggedValue_misscCr\r]rbrFrrr�*test_queryDirectTaggedValue_miss_w_default�r_z7ElementTests.test_queryDirectTaggedValue_miss_w_defaultcCsR|��}|�dd�|�t|���dg�|�|�d�d�|�|�d�d�dSrR)r?rUr"rDrErOrYrFrrr�test_setTaggedValue�s
z ElementTests.test_setTaggedValuecCs.ddlm}ddlm}|��}|||�dS)Nr)�IElement��verifyObject)�zope.interface.interfacesrg�zope.interface.verifyrir?)r%rgrirGrrr�
test_verifies�szElementTests.test_verifiesr
)rrrr=r;r?rHrIrPrVrZr^rardrerfrlrrrrr7gs
r7c@s0eZdZdd�ZeZdd�Zdd�Zdd�Zd	S)
�GenericSpecificationBaseTestscCr9)Nr)�SpecificationBasePy)r rn)r%rnrrr�_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��objrvrr�_providedBy��zGGenericSpecificationBaseTests.test_providedBy_miss.<locals>._providedBy��
providedBy)	�zope.interfaceru�zope.interface.declarationsrwr?�_Monkey�assertFalser~r!)r%ru�sbr{rrvr�test_providedBy_miss��"�z2GenericSpecificationBaseTests.test_providedBy_misscrs)Nrrtrvcrxr
rryrvrr�_implementedBy�r|zMGenericSpecificationBaseTests.test_implementedBy_miss.<locals>._implementedBy��
implementedBy)	rrur�rwr?r�r�r�r!)r%rur�r�rrvr�test_implementedBy_miss�r�z5GenericSpecificationBaseTests.test_implementedBy_missN)rrrror;r?r�r�rrrrrm�s	rmc@�eZdZdd�ZdS)�SpecificationBaseTestscCr9)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��isOrExtendsr!�r%r�rrr�test___call___miss��z+SpecificationBasePyTests.test___call___misscC�*|��}t�}|ii|_|�||��dSr
�r?r!r��
assertTrue�r%r��testingrrr�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)Nrrtc�eZdZ�iiZdS)z>SpecificationBasePyTests.test_implementedBy_hit.<locals>._DeclN�rrrr�r�r�rr�_Decl�rr�c���Sr
rry�r�rrr��rzGSpecificationBasePyTests.test_implementedBy_hit.<locals>._implementedByr�)rrur?r!r�r�r�)r%rur�r�r�r�r�test_implementedBy_hit��"�z/SpecificationBasePyTests.test_implementedBy_hitcr�)Nrrtcr�)z;SpecificationBasePyTests.test_providedBy_hit.<locals>._DeclNr�rr�rrr��rr�cr�r
rryr�rrr{�rzASpecificationBasePyTests.test_providedBy_hit.<locals>._providedByr})rrur?r!r�r�r~)r%rur{rr�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?rqrrr�_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�NrS)rrqrrr�__init__rrziNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModule.__init__cS�t�r
)r�rqrrrr �zkNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModule.__module__N)rrrr��propertyrrrr�RaisesErrorOnModulesr�c@r�)z^NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnNamecSr�r��rrqrrrr�%rrzgNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnName.__init__N�rrrr�rrrr�RaisesErrorOnName$rr�rSrrc@s(eZdZdd�ZeZeZeZeZeZdS)z`NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.AllowsAnyComparisoncS�dS�NTr)r%�otherrrr�__eq__6r|zgNameAndModuleComparisonTestsMixin.__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"rrrMr��assertIs�NotImplementedr��	TypeError�	Exceptionr�)r%r>r��ib�op�methr�r��clsr�r�r�rr�r�!__check_NotImplemented_comparisonsT
	��	�������zCNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparisoncC�|�d�dS)N�lt��C_NameAndModuleComparisonTestsMixin__check_NotImplemented_comparisonrqrrr�test__lt__NotImplemented_�z:NameAndModuleComparisonTestsMixin.test__lt__NotImplementedcCr�)N�ler�rqrrr�test__le__NotImplementedbr�z:NameAndModuleComparisonTestsMixin.test__le__NotImplementedcCr�)N�gtr�rqrrr�test__gt__NotImplementeder�z:NameAndModuleComparisonTestsMixin.test__gt__NotImplementedcCr�)N�ger�rqrrr�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
rrqrrrr;or|z'InterfaceBaseTestsMixin._getTargetClasscCr9)Nr)�InterfaceBasePy)r r�)r%r�rrrrorsz)InterfaceBaseTestsMixin._getFallbackClassFNcs"G�fdd�d|���}|||�S)Ncs eZdZdd�Z�fdd�ZdS)z,InterfaceBaseTestsMixin._makeOne.<locals>.IBcSs||�Sr
r)r%�conformrrr�
_call_conformy�z:InterfaceBaseTestsMixin._makeOne.<locals>.IB._call_conformcrxr
r�r%rz��object_should_providerrr~{r|z7InterfaceBaseTestsMixin._makeOne.<locals>.IB.providedByN)rrrr�r~rr�rr�IBxsr�rp)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>._Adaptedcrxr
r�r%�iface��	conformedrr�__conform__�r|zaInterfaceBaseTestsMixin.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��__traceback_info__�adapted�	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?rMr�r!�assertIn�str�	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�)�expected_missing)r�test_raisesr?rqrrr�6test___call___w_no_conform_catches_only_AttributeError�szNInterfaceBaseTestsMixin.test___call___w_no_conform_catches_only_AttributeError)FNN)
rrrr;ror?r�r�rrrrrrr�ls
r�c@r�)�InterfaceBaseTestscCr9)Nr)�
InterfaceBase)r r)r%rrrrr;�r<z"InterfaceBaseTests._getTargetClassNr�rrrrr�r�rc@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��r|z_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)	NrrtFcs��||f�dSr
��append�r�rz��_missedrr�
_hook_miss��zQInterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooks.<locals>._hook_misscS�|Sr
rr
rrr�	_hook_hit�r|zPInterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooks.<locals>._hook_hit��
adapter_hooks)rrur?r!r�r�r	r")r%rur�r�rrrrr�(test___adapt___ob_no_provides_uses_hooks�s
"�z=InterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooksN)	rrrr�ror;rr
rrrrrr�s
rc@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)"�SpecificationTestscCr9)Nr)�
Specification)r r)r%rrrrr;�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 rr?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?r%r&r"r r'rrr�test_subscribe_again�s


z'SpecificationTests.test_subscribe_againcCs"|��}t�}|�t|j|�dSr
)r?r%rMrN�unsubscriber'rrr�test_unsubscribe_miss��z(SpecificationTests.test_unsubscribe_misscCs\|��}t�}|�|�|�|�|�|�|�|j|d�|�|�|�||jv�dSr#)r?r%r&r+r"r r�r'rrr�test_unsubscribe�s



z#SpecificationTests.test_unsubscribecCs�ddlm}|��}t�}|�|�Gdd�d|�}Gdd�d|�}|f|_|�|j|g�|�|j|d�|f|_|�|j�	|�d�|�|j|d�dS)Nrrc@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�r0r$)
r rr?r%r&rr"�_changedr �get)r%rr!r(r/r0rrr�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)Nrrc@r�)zGSpecificationTests.test_changed_clears_volatiles_and_implied.<locals>.INrrrrrr/r�r/rr)r rr?�_v_attrsr��changed�assertIsNoner�)r%rr/r!rrr�)test_changed_clears_volatiles_and_implieds

z<SpecificationTests.test_changed_clears_volatiles_and_impliedcCsDddlm}Gdd�d|�}|�||g�}|�t|���|g�dS)Nrrc@r�)zCSpecificationTests.test_interfaces_skips_already_seen.<locals>.IFooNrrrrr�IFoor�r8)r rr?r"rD�
interfaces�r%rr8r!rrr�"test_interfaces_skips_already_seen
sz5SpecificationTests.test_interfaces_skips_already_seencCs>ddlm}Gdd�d|�}|�|�}|�|j|dd��dS)Nrrc@r�)z<SpecificationTests.test_extends_strict_wo_self.<locals>.IFooNrrrrrr8r�r8T��strict)r rr?r��extendsr:rrr�test_extends_strict_wo_selfs
z.SpecificationTests.test_extends_strict_wo_selfcC� |��}|�|j|dd��dS)NTr<)r?r�r>�r%r!rrr�test_extends_strict_w_selfr_z-SpecificationTests.test_extends_strict_w_selfcCr@)NFr<)r?r�r>rArrr�test_extends_non_strict_w_selfr_z1SpecificationTests.test_extends_non_strict_w_selfcCs0|��}t�}d|i|_|�|�d�|u�dSr�)r?r!r4r�r2)r%r!rSrrr�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��	Attributerc�eZdZ�d�ZdS)zCSpecificationTests.test_get_hit_from_base_wo__v_attrs.<locals>.IFoorSN)rrrrSrrErrr8,rr8crG)zCSpecificationTests.test_get_hit_from_base_wo__v_attrs.<locals>.IBarr.N�rrrr.rrErr�IBar.rrIrSr.)r rFrr?r�r2)r%rr8rIr!rrEr�"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�rMc@r�)zKSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.ContextNrrrrr�ContextAr�rNc@r�)zLSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.RDBModelNrrrrr�RDBModelDr�rOc@r�)zJSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.IOtherNrrrrr�IOtherGr�rPc@r�)zMSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.OtherBaseNrrrrr�	OtherBaseJ�rQc@r�)zISpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.ModelNrrrrr�ModelNr�rS)r rr�rLr�r!r"�__sro__)
r%rrLr�rMrNrOrPrQrSrrr�'test_multiple_inheritance_no_interfaces4s(��z:SpecificationTests.test_multiple_inheritance_no_interfacesN)rrrr;rr?r"r)r*r,r.r3r7r;r?rBrCrDrJrUrrrrr�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�InterfaceClassTestscCr9)Nr��InterfaceClass)r rX)r%rXrrrr;`r<z#InterfaceClassTests._getTargetClass�ITestrNcCs|��|||||�Sr
rp)r%r>r�attrsrBrrrrr?dszInterfaceClassTests._makeOnecCsN|��}|d�}|�|jd�|�|jd�|�|jd�|�|��d�dS)N�ITestingr@r)r;r"rrBr�getBases)r%�klass�instrrrrHhsz&InterfaceClassTests.test_ctor_defaultscCs |��}|�t|dt�f�dS)Nr[)r;rMr�r!)r%r]rrr�test_ctor_bad_basespr_z'InterfaceClassTests.test_ctor_bad_basescCs�ddlm}ddlm}dd�}|dd�||�d�}|��}|d	|d
�}|�|jd	�|�|jd�|�|jd�|�|��|�	��dS)NrrE��fromFunctioncSr���	DOCSTRINGNrrrrr�_barw�zBInterfaceClassTests.test_ctor_w_attrs_attrib_methods.<locals>._barrr@�rSr.r[�rZr)
r rFrar;r"rrBr�names�keys)r%rFrard�ATTRSr]r^rrr� test_ctor_w_attrs_attrib_methodsts�z4InterfaceClassTests.test_ctor_w_attrs_attrib_methodscC�^dii}|��}|d|d�}|�|jd�|�|jd�|�|jd�|�t|���g�dS)N�
__locals__r[rgr@r�r;r"rrBrrDrh�r%rjr]r^rrr�test_ctor_attrs_w___locals__��z0InterfaceClassTests.test_ctor_attrs_w___locals__cCrl)N�__annotations__r[rgr@rrnrorrr�!test_ctor_attrs_w___annotations__�rqz5InterfaceClassTests.test_ctor_attrs_w___annotations__cCsjddlm}d|i}|��}|d|d�}|�|jd�|�|jd�|�|jd�|�t|���g�dS)Nr)�_decorator_non_return�dropmer[rgr@r)	r rtr;r"rrBrrDrh)r%rtrjr]r^rrr�'test_ctor_attrs_w__decorator_non_return�sz;InterfaceClassTests.test_ctor_attrs_w__decorator_non_returncCs4ddlm}dt�i}|��}|j||d|d�dS)Nr)�InvalidInterface�invalidr[rg)�zope.interface.exceptionsrwr!r;rM)r%rwrjr]rrr�#test_ctor_attrs_w_invalid_attr_type�s
z7InterfaceClassTests.test_ctor_attrs_w_invalid_attr_typecCs0ddi}|��}|d|dd�}|�|jd�dS)NrB�ATTRr[�EXPLICIT)rZrB)r;r"rBrorrr�test_ctor_w_explicit___doc__�sz0InterfaceClassTests.test_ctor_w_explicit___doc__cCs"|��}|�t|���|g�dSr
)r?r"rDr9r�rrr�test_interfaces�sz#InterfaceClassTests.test_interfacescCs.|��}|jd|fd�}|�|��|f�dS�N�ISub)r)r?r"r\�r%r��subrrr�
test_getBases�sz!InterfaceClassTests.test_getBasescCs|��}|�|�|��dSr
)r?r��isEqualOrExtendedByr�rrr�!test_isEqualOrExtendedBy_identity�rQz5InterfaceClassTests.test_isEqualOrExtendedBy_identitycCs<|��}|jd|fd�}|�|�|��|�|�|��dSr)r?r�r�r�r�rrr�!test_isEqualOrExtendedBy_subiface�sz5InterfaceClassTests.test_isEqualOrExtendedBy_subifacecCs8|�d�}|�d�}|�|�|��|�|�|��dS)N�One�Another)r?r�r�)r%�one�anotherrrr�"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)NrrEr`cSr�rbrrrrrrd�rezFInterfaceClassTests.test_names_w_all_False_ignores_bases.<locals>._barrr@rfr/�Baz�IBaserg�IDerived�rrZF��all�r rFrar?r"�sortedrh�r%rFrard�
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)NrrEr`cSr�rbrrrrrrd�rez@InterfaceClassTests.test_names_w_all_True_no_bases.<locals>._barrr@rfrgTr�r.rSr��r%rFrardrjr�rrr�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)NrrEr`cSr�rbrrrrrrd�rezFInterfaceClassTests.test_names_w_all_True_w_bases_simple.<locals>._barrr@rfr/r�r�rgr�r�Tr��r.r/rSr�r�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)NrrEr`cSr�rbrrrrrrd�rezJInterfaceClassTests.test_names_w_all_True_bases_w_same_names.<locals>._barcSr�rbrrrrr�_foo�rezJInterfaceClassTests.test_names_w_all_True_bases_w_same_names.<locals>._foorr@rfr��rSr/r�rgr�r�Tr�r�r��	r%rFrardr�r�r�r�r�rrr�(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)NrrEr`cSr�rbrrrrrrd�rez/InterfaceClassTests.test___iter__.<locals>._barcSr�rbrrrrrr�rez/InterfaceClassTests.test___iter__.<locals>._foorr@rfr�r�r�rgr�r�r�)r rFrar?r"r�r�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)NrrEr`cSr�rbrrrrrrdrezUInterfaceClassTests.test_namesAndDescriptions_w_all_False_ignores_bases.<locals>._barrr@rfr/r�r�rgr�r�Fr��r rFrar?r"r��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)NrrEr`cSr�rbrrrrrrd rezOInterfaceClassTests.test_namesAndDescriptions_w_all_True_no_bases.<locals>._barrr@rfrgFr�r.rSr�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)NrrEr`cSr�rbrrrrrrd.rezMInterfaceClassTests.test_namesAndDescriptions_w_all_True_simple.<locals>._barrr@rfr/r�r�rgr�r�Tr�r.rSr�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)NrrEr`cSr�rbrrrrrrd@rezYInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_names.<locals>._barcSr�rbrrrrrr�BrezYInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_names.<locals>._foorr@rfr�r�r�rgr�r�Tr�r.r/rSr�r�rrr�7test_namesAndDescriptions_w_all_True_bases_w_same_names=s$��


��zKInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_namescCrJrK)r?rMrN�getDescriptionFor�r%r�rrr�test_getDescriptionFor_missRrQz/InterfaceClassTests.test_getDescriptionFor_misscCspddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�|�d
�|d
�|�|�d�|d�dS)NrrEr`cSr�rbrrrrrrdYrez<InterfaceClassTests.test_getDescriptionFor_hit.<locals>._barrr@rfrgrSr.)r rFrar?r"r�r�rrr�test_getDescriptionFor_hitVs�z.InterfaceClassTests.test_getDescriptionFor_hitcs$|����fdd�}|�t|�dS)Ncs�dSrKrr�r�rr�_testdr�z8InterfaceClassTests.test___getitem___miss.<locals>._test)r?rMrN)r%r�rr�r�test___getitem___missbsz)InterfaceClassTests.test___getitem___misscCslddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�|d
|d
�|�|d|d�dS)NrrEr`cSr�rbrrrrrrdkrez6InterfaceClassTests.test___getitem___hit.<locals>._barrr@rfrgrSr.)r rFrar?r"r�rrr�test___getitem___hiths�z(InterfaceClassTests.test___getitem___hitcCs|��}|�d|v�dSrK)r?r�r�rrr�test___contains___misstsz*InterfaceClassTests.test___contains___misscCs`ddlm}ddlm}dd�}|dd�||�d�}|j|d	�}|�d
|v�|�d|v�dS)NrrEr`cSr�rbrrrrrrd{rez7InterfaceClassTests.test___contains___hit.<locals>._barrr@rfrgrSr.)r rFrar?r�r�rrr�test___contains___hitxs�z)InterfaceClassTests.test___contains___hitcCrWrK)r?r"�directr�rrr�test_direct_miss�r[z$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)NrrEr`cSr�rbrrrrrrd�rezBInterfaceClassTests.test_direct_hit_local_miss_bases.<locals>._barcSr�rbrrrrrr��rezBInterfaceClassTests.test_direct_hit_local_miss_bases.<locals>._foorr@rfr�r�r�rgr�r�rSr/r.)r rFrar?r"r�r�rrr� test_direct_hit_local_miss_bases�s��z4InterfaceClassTests.test_direct_hit_local_miss_basescCrWrK)r?r"�queryDescriptionForr�rrr�test_queryDescriptionFor_miss�r[z1InterfaceClassTests.test_queryDescriptionFor_misscCs@ddlm}d|dd�i}|j|d�}|�|�d�|d�dS)NrrE�attr�Title�Descriptionrg)rrFr?r"r�)r%rFrjr�rrr�test_queryDescriptionFor_hit�sz0InterfaceClassTests.test_queryDescriptionFor_hitcsVg��fdd�}|��}t�}|�d|g�|�|�|�d�|��|fifg�dS)Nc���||f�dSr�rr��_called_withrr�	_passable��zCInterfaceClassTests.test_validateInvariants_pass.<locals>._passabler)r?r!rUr"�validateInvariants)r%r�r�rzrr�r�test_validateInvariants_pass�sz0InterfaceClassTests.test_validateInvariants_passcs�ddlm�g��fdd�}g���fdd�}|��}t�}|�d||g�|��|j|�|��|fifg�|��|fifg�dS)Nr��Invalidcr�r�rr��_passable_called_withrrr��r�zTInterfaceClassTests.test_validateInvariants_fail_wo_errors_passed.<locals>._passablec���||f���r
rr�r��_fail_called_withrr�_fail�r�zPInterfaceClassTests.test_validateInvariants_fail_wo_errors_passed.<locals>._failr�ryr�r?r!rUrMr�r")r%r�r�r�rzr�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
rrr�rrr��r�zOInterfaceClassTests.test_validateInvariants_fail_w_errors_passed.<locals>._failrr$�ryr�r?r!rUrMr�r"rr��
isinstance)r%�_errorsr�r�rzrr�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�rrr�rrr��r�z\InterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passed.<locals>._passablecr�r
rrr�rrr��r�zXInterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passed.<locals>._failr�r�rr�)r%r�r�r�r�rzrr�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�rrr�rrr��r�z[InterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passed.<locals>._passablecr�r
rrr�rrr��r�zWInterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passed.<locals>._failr�r�rr$r�)r%r�r�r�r�r�rzrr�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�rrr�rrr��r�zbInterfaceClassTests.test_validateInvariants_inherited_not_called_multiple_times.<locals>._passabler�rr�r$)r!r?rUr�r"r)r%r�rzr�r�rr�r�;test_validateInvariants_inherited_not_called_multiple_times�s

zOInterfaceClassTests.test_validateInvariants_inherited_not_called_multiple_timescCs|�d�}|�|��d�dS)N�PickleMe)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>.DerivedcSrr
rrqrrrr�r|zRInterfaceClassTests.test___hash___missing_required_attrs.<locals>.Derived.__init__Nr�rrrr�Derivedrr�)r;rMr�r�)r%r�r�rrr�$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%r�r�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��typerMr��	__class__)r%r�r8rr�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)Nrrc@r�)zJInterfaceClassTests.test_assignment_to__class__2.<locals>.MyInterfaceClasscWrr
r)r%rrrrr�dr|zSInterfaceClassTests.test_assignment_to__class__2.<locals>.MyInterfaceClass.__call__Nr�rrrrr�crr�r8r$)r$c@r�)z>InterfaceClassTests.test_assignment_to__class__2.<locals>.IBarNrrrrrrIjr�rIc@r�)z?InterfaceClassTests.test_assignment_to__class__2.<locals>.ISpamNrrrrr�ISpamor�r�)rrr;r"rMr�r�)r%rr�r8rIr�rrr�test_assignment_to__class__2^s�z0InterfaceClassTests.test_assignment_to__class__2cCsB|��}|�ttf��d|_Wd�dS1swYdS)Nzdifferent.module)r?rMr�r�r)r%r^rrr�test__module__is_readonlyxs"�z-InterfaceClassTests.test__module__is_readonly)rYrNNN)4rrrr;r?rHr_rkrprsrvrzr}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�rrrrrV^sh
�		
rVc@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)NrrrEcrG)z<InterfaceTests.test_attributes_link_to_interface.<locals>.I1�My attrN)rrrr�rrErr�I1�rr�r�)rrrFr�ru�r%rr�rrEr�!test_attributes_link_to_interface�sz0InterfaceTests.test_attributes_link_to_interfacecCs4ddlm}Gdd�d|�}|�|dj|u�dS)Nrrc@r�)z9InterfaceTests.test_methods_link_to_interface.<locals>.I1cSr��zA methodNr)rSr.�bingorrr�method�rez@InterfaceTests.test_methods_link_to_interface.<locals>.I1.methodN�rrrr�rrrrr���r�r�)rrr�rur�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)Nrrr�r}c@r)z<InterfaceTests.test_classImplements_simple.<locals>.ICurrentcSrr
r�r�r�rrr�method1�r|zDInterfaceTests.test_classImplements_simple.<locals>.ICurrent.method1cSrr
rr�rrr�method2�r|zDInterfaceTests.test_classImplements_simple.<locals>.ICurrent.method2N)rrrr�r�rrrr�ICurrent��r�c@r�)z:InterfaceTests.test_classImplements_simple.<locals>.IOtherNrrrrrrP�r�rPcs 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)rrr�r~r!r�r�r")r%rr�r~rPr�currentrrr�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)Nrrr�r}c@r�)zCInterfaceTests.test_classImplements_base_not_derived.<locals>.IBasecSrr
rrrrrr��r|zJInterfaceTests.test_classImplements_base_not_derived.<locals>.IBase.methodNr�rrrrr��rr�c@r�)zFInterfaceTests.test_classImplements_base_not_derived.<locals>.IDerivedNrrrrrr��r�r�c�eZdZ�Zdd�ZdS)zEInterfaceTests.test_classImplements_base_not_derived.<locals>.CurrentcSrr
rrqrrrr��rzLInterfaceTests.test_classImplements_base_not_derived.<locals>.Current.methodN�rrrr�r�r�r�rrr��r)rrr�r~r�r�)r%rr�r~r�rrrrr�%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)Nrrr�r}c@r�)zCInterfaceTests.test_classImplements_base_and_derived.<locals>.IBasecSrr
rrrrrr��r|zJInterfaceTests.test_classImplements_base_and_derived.<locals>.IBase.methodNr�rrrrr��rr�c@r�)zFInterfaceTests.test_classImplements_base_and_derived.<locals>.IDerivedNrrrrrr��r�r�cr)zEInterfaceTests.test_classImplements_base_and_derived.<locals>.CurrentcSrr
rrqrrrr��rzLInterfaceTests.test_classImplements_base_and_derived.<locals>.Current.methodNrr�r�rrr�rr)rrr�r~r!r�r��	flattened)r%rr�r~r�rrrr	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)Nrrr�r}c@r�)z;InterfaceTests.test_classImplements_multiple.<locals>.ILeftcSrr
rrrrrr��r|zBInterfaceTests.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
rrqrrrr��rzAInterfaceTests.test_classImplements_multiple.<locals>.Left.methodNrr�rrr�Left��rc�eZdZ�ZdS)z;InterfaceTests.test_classImplements_multiple.<locals>.RightN�rrrr�r�r
rr�Right��rc@r�)z:InterfaceTests.test_classImplements_multiple.<locals>.AmbiNrrrrr�Ambi�r�r)rrr�r~r!r�)r%rr�r~rrr�ambir)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)Nrrr�r}c@r�)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.ILeftcSrr
rrrrrr�r|zWInterfaceTests.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>.IOtherNrrrrrrPr�rPcr)zOInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.LeftcSrr
rrqrrrr�rzVInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.Left.methodNrrrrrrrrcr)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.RightNrrrrrrrrcr)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.OtherNrr)rPrr�Other rrcseZdZ�j�jfZdS)zPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.MixedNrr)rrrr�Mixed#r0r)rrr�r~r!r�r�)r%rr�r~rr�mixedr)rrPr
rrr�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)rrr�r�r>r�)r%r�newrrrr rrr�testInterfaceExtendsInterface2sz,InterfaceTests.testInterfaceExtendsInterfacecs`ddlm�ddlm}ddlm}G�fdd�d|��G�fdd�dt�}|�|�|��dS)	NrrEr)�verifyClassc�eZdZ�d�Zdd�ZdS)z1InterfaceTests.test_verifyClass.<locals>.ICheckMer�cSr�r�rrrrrr�Lrez8InterfaceTests.test_verifyClass.<locals>.ICheckMe.methodN�rrrr�r�rrErr�ICheckMeIr�r&c�eZdZ�ZdZdd�ZdS)z0InterfaceTests.test_verifyClass.<locals>.CheckMe�valuecSrr
rrqrrrr�Srz7InterfaceTests.test_verifyClass.<locals>.CheckMe.methodN�rrrr�r�r�r�r&rr�CheckMeO�r+)rrFrrkr#r!r�)r%rr#r+r�rFr&r�test_verifyClassCszInterfaceTests.test_verifyClasscsfddlm�ddlm}ddlm}G�fdd�d|��G�fdd�dt�}|�}|�|�|��dS)	NrrErrhcr$)z2InterfaceTests.test_verifyObject.<locals>.ICheckMer�cSr�r�rrrrrr�arez9InterfaceTests.test_verifyObject.<locals>.ICheckMe.methodNr%rrErrr&^r�r&cr')z1InterfaceTests.test_verifyObject.<locals>.CheckMer(cSrr
rrqrrrr�hrz8InterfaceTests.test_verifyObject.<locals>.CheckMe.methodNr)rr*rrr+dr,r+)rrFrrkrir!r�)r%rrir+�check_merr-r�test_verifyObjectXsz InterfaceTests.test_verifyObjectcCs0ddlm}Gdd�d|�}|�|�|��dS)Nrrc@r�)zLInterfaceTests.test_interface_object_provides_Interface.<locals>.AnInterfaceNrrrrr�AnInterfacerr�r1)rrr�r~)r%rr1rrr�(test_interface_object_provides_Interfaceo�z7InterfaceTests.test_interface_object_provides_InterfacecsHddlm�ddlm}G�fdd�d|�}|�t|���ddg�dS)NrrErcr$)z1InterfaceTests.test_names_simple.<locals>.ISimpler�cSrr
rrrrrr�r|z8InterfaceTests.test_names_simple.<locals>.ISimple.methodNr%rrErr�ISimple|r�r4r�r��rrFrr"r�rh�r%rr4rrEr�test_names_simplew�z InterfaceTests.test_names_simplecsxddlm�ddlm}G�fdd�d|�}G�fdd�d|�}|�t|���gd��|�t|jd	d
��gd��dS)NrrErcr$)z0InterfaceTests.test_names_derived.<locals>.IBaser�cSrr
rrrrrr��r|z7InterfaceTests.test_names_derived.<locals>.IBase.methodNr%rrErrr��r�r�c�$eZdZ�d�Zdd�Zdd�ZdS)z3InterfaceTests.test_names_derived.<locals>.IDerived�My attr2cSrr
rrrrrr��r|z:InterfaceTests.test_names_derived.<locals>.IDerived.methodcSrr
rrrrrr��r|z;InterfaceTests.test_names_derived.<locals>.IDerived.method2N�rrr�attr2r�r�rrErrr���r�)r<r�r�Tr��r�r<r�r�r5�r%rr�r�rrEr�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)
NrrE��Methodrcr$)z@InterfaceTests.test_namesAndDescriptions_simple.<locals>.ISimpler�cSr���	My methodNrrrrrr��rezGInterfaceTests.test_namesAndDescriptions_simple.<locals>.ISimple.methodNr%rrErrr4�r�r4rr�r$r�r�rD)
rrFr rBrr�r�r"rr�r�rrB)r%rBrr4�name_valuesrrEr� 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)NrrErrAcr$)z?InterfaceTests.test_namesAndDescriptions_derived.<locals>.IBaser�cSr�rCrrrrrr��rezFInterfaceTests.test_namesAndDescriptions_derived.<locals>.IBase.methodNr%rrErrr��r�r�cr9)zBInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerivedr:cSr���My method, overriddenNrrrrrr��rezIInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerived.methodcSr���
My method2Nrrrrrr��rezJInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerived.method2Nr;rrErrr��r=r��r<r$r:r�rHrr�rJTr��r�r�)
rrFrr rBr�r�r"rr�r�rrB)r%rrBr�r�rErrEr�!test_namesAndDescriptions_derived�sJ	z0InterfaceTests.test_namesAndDescriptions_derivedcC�0ddlm}Gdd�d|�}|�t|jd�dS)Nrrc@r�)zIInterfaceTests.test_getDescriptionFor_nonesuch_no_default.<locals>.IEmptyNrrrrr�IEmpty�r�rOrL)rrrMrNr��r%rrOrrr�*test_getDescriptionFor_nonesuch_no_default�r3z9InterfaceTests.test_getDescriptionFor_nonesuch_no_defaultcs�ddlm�ddlm}ddlm}G�fdd�d|�}|�d�}|�t|���|�|j	d�|�|j
d�|�d	�}|�t||��|�|j	d	�|�|j
d
�dS)NrrErArcr$)z=InterfaceTests.test_getDescriptionFor_simple.<locals>.ISimpler�cSr�rCrrrrrr��rezDInterfaceTests.test_getDescriptionFor_simple.<locals>.ISimple.methodNr%rrErrr4�r�r4r�r�r�rD�rrFr rBrr�r�r�r"rrB�r%rBrr4�a_desc�m_descrrEr�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)NrrErArcr$)z<InterfaceTests.test_getDescriptionFor_derived.<locals>.IBaser�cSr�rCrrrrrr�rezCInterfaceTests.test_getDescriptionFor_derived.<locals>.IBase.methodNr%rrErrr�r�r�cr9)z?InterfaceTests.test_getDescriptionFor_derived.<locals>.IDerivedr:cSr�rGrrrrrr�rezFInterfaceTests.test_getDescriptionFor_derived.<locals>.IDerived.methodcSr�rIrrrrrr�rezGInterfaceTests.test_getDescriptionFor_derived.<locals>.IDerived.method2Nr;rrErrr�r=r�r�r�r�rHr<r:r�rJrR�	r%rBrr�r�rTrU�a2_desc�m2_descrrEr�test_getDescriptionFor_deriveds*
	


z-InterfaceTests.test_getDescriptionFor_derivedcCrN)Nrrc@r�)z7InterfaceTests.test___getitem__nonesuch.<locals>.IEmptyNrrrrrrO8r�rOrL)rrrMrN�__getitem__rPrrr�test___getitem__nonesuch5r3z'InterfaceTests.test___getitem__nonesuchcs�ddlm�ddlm}ddlm}G�fdd�d|�}|d}|�t|���|�|jd�|�|j	d�|d	}|�t||��|�|jd	�|�|j	d
�dS)NrrErArcr$)z6InterfaceTests.test___getitem__simple.<locals>.ISimpler�cSr�rCrrrrrr�Frez=InterfaceTests.test___getitem__simple.<locals>.ISimple.methodNr%rrErrr4Cr�r4r�r�r�rD�
rrFr rBrr�r�r"rrBrSrrEr�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)NrrErArcr$)z6InterfaceTests.test___getitem___derived.<locals>.IBaser�cSr�rCrrrrrr�\rez=InterfaceTests.test___getitem___derived.<locals>.IBase.methodNr%rrErrr�Yr�r�cr9)z9InterfaceTests.test___getitem___derived.<locals>.IDerivedr:cSr�rGrrrrrr�brez@InterfaceTests.test___getitem___derived.<locals>.IDerived.methodcSr�rIrrrrrr�erezAInterfaceTests.test___getitem___derived.<locals>.IDerived.method2Nr;rrErrr�_r=r�r�r�r�rHr<r:r�rJr]rWrrEr�test___getitem___derivedSs*	z'InterfaceTests.test___getitem___derivedcCs.ddlm}Gdd�d|�}|�d|v�dS)Nrrc@r�)z8InterfaceTests.test___contains__nonesuch.<locals>.IEmptyNrrrrrrOr�rOrL)rrr�rPrrr�test___contains__nonesuch|sz(InterfaceTests.test___contains__nonesuchcsLddlm�ddlm}G�fdd�d|�}|�d|v�|�d|v�dS)NrrErcr$)z7InterfaceTests.test___contains__simple.<locals>.ISimpler�cSr�rCrrrrrr��rez>InterfaceTests.test___contains__simple.<locals>.ISimple.methodNr%rrErrr4�r�r4r�r��rrFrr�r6rrEr�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)NrrErcr$)z6InterfaceTests.test___contains__derived.<locals>.IBaser�cSr�rCrrrrrr��rez=InterfaceTests.test___contains__derived.<locals>.IBase.methodNr%rrErrr��r�r�cr9)z9InterfaceTests.test___contains__derived.<locals>.IDerivedr:cSr�rGrrrrrr��rez@InterfaceTests.test___contains__derived.<locals>.IDerived.methodcSr�rIrrrrrr��rezAInterfaceTests.test___contains__derived.<locals>.IDerived.method2Nr;rrErrr��r=r�r�r�r<r�rar?rrEr�test___contains__derived�s	z'InterfaceTests.test___contains__derivedcCs0ddlm}Gdd�d|�}|�t|�g�dS)Nrrc@r�)z1InterfaceTests.test___iter__empty.<locals>.IEmptyNrrrrrrO�r�rO)rrr"rDrPrrr�test___iter__empty�r3z!InterfaceTests.test___iter__emptycsHddlm�ddlm}G�fdd�d|�}|�tt|��ddg�dS)NrrErcr$)z3InterfaceTests.test___iter__simple.<locals>.ISimpler�cSr�rCrrrrrr��rez:InterfaceTests.test___iter__simple.<locals>.ISimple.methodNr%rrErrr4�r�r4r�r��rrFrr"r�rDr6rrEr�test___iter__simple�r8z"InterfaceTests.test___iter__simplecs\ddlm�ddlm}G�fdd�d|�}G�fdd�d|�}|�tt|��gd��dS)	NrrErcr$)z2InterfaceTests.test___iter__derived.<locals>.IBaser�cSr�rCrrrrrr��rez9InterfaceTests.test___iter__derived.<locals>.IBase.methodNr%rrErrr��r�r�cr9)z5InterfaceTests.test___iter__derived.<locals>.IDerivedr:cSr�rGrrrrrr��rez<InterfaceTests.test___iter__derived.<locals>.IDerived.methodcSr�rIrrrrrr��rez=InterfaceTests.test___iter__derived.<locals>.IDerived.method2Nr;rrErrr��r=r�r>rer?rrEr�test___iter__derived�s	�z#InterfaceTests.test___iter__derivedcCs:ddlm}Gdd�d|�}|d}|�|�d�d�dS)Nrrc@seZdZdd�Zde_dS)zLInterfaceTests.test_function_attributes_become_tagged_values.<locals>.ITagMecSrr
rrrrrr��r|zSInterfaceTests.test_function_attributes_become_tagged_values.<locals>.ITagMe.methodr$N)rrrr��optionalrrrr�ITagMe�s
rir�rhr$)rrr"rO)r%rrir�rrr�-test_function_attributes_become_tagged_values�sz<InterfaceTests.test_function_attributes_become_tagged_valuescCs>ddlm}Gdd�d|�}|�|jd�|�t|�g�dS)Nrrc@�eZdZdZdS)z@InterfaceTests.test___doc___non_element.<locals>.IHaveADocString�xxxN�rrrrBrrrr�IHaveADocString�rrnrl)rrr"rBrD�r%rrnrrr�test___doc___non_element�sz'InterfaceTests.test___doc___non_elementcsPddlm�ddlm}G�fdd�d|�}|�|jd�|�t|�dg�dS)NrrErc�eZdZdZ�d�ZdS)z?InterfaceTests.test___doc___as_element.<locals>.IHaveADocStringrl�the docNrmrrErrrn�rrnr@rB)rrFrr"rBrDrorrEr�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>)
ryr�rMr��failr"rr�sort�pop)
r%�
has_invariant�	error_len�
error_msgsr�r��erv�msgs�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)NrrEr��directlyProvidesrc�$eZdZ�d�Z�d�Z�e�dS)z8InterfaceTests.test_invariant_simple.<locals>.IInvariantrS�*bar; must eval to Boolean True if foo doesN�rrrrSr.�
_ifFooThenBarr�rFr	rr�
IInvariant�r�c@r�)z:InterfaceTests.test_invariant_simple.<locals>.HasInvariantNrrrrr�HasInvariantr�r�r��*r$�If Foo, then Bar!)
rrFrr�r	r!r"rOr�r�r.rSr�)r%rr�r�r�r{rr�r�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)NrrErr�rcr�)z8InterfaceTests.test_invariant_nested.<locals>.IInvariantrSr�Nr�rr�rrr�*r�r�cseZdZ�e�dS)z;InterfaceTests.test_invariant_nested.<locals>.ISubInvariantN)rrr�_barGreaterThanFoorrrr�
ISubInvariant/rr�c@r�)z:InterfaceTests.test_invariant_nested.<locals>.HasInvariantNrrrrrr�2r�r�rr�r$r�r�%Please, Boo MUST be greater than Foo!)
rrFrr�r	r!r"rOr�rSr�r.r�)r%rr�r�r�r�r{rr�r�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)NrrErr�rcr�)z:InterfaceTests.test_invariant_mutandis.<locals>.IInvariantrSr�Nr�rr�rrr�Yr�r�c@r�)z<InterfaceTests.test_invariant_mutandis.<locals>.HasInvariantNrrrrrr�^r�r�r�rr$r�rr�)rrFrr�r	r!rSrOrr�rUr�r.r"r�)r%rr�r�r�r{�old_invariantsrrr�r�test_invariant_mutandisSsB


����z&InterfaceTests.test_invariant_mutandiscs~ddlm}ddlm�Gdd�d|�}|�|jd�|�t|�g�G�fdd�d|�}|�|jd	�|�t|�d
g�dS)NrrrEc@rk)z7InterfaceTests.test___doc___element.<locals>.IDocstringrlNrmrrrr�
IDocstring�rr�rlcrq)zCInterfaceTests.test___doc___element.<locals>.IDocstringAndAttributerlrrNrmrrErr�IDocstringAndAttribute�rr�r@rB)rrrFr"rBrD)r%rr�r�rrEr�test___doc___element�sz#InterfaceTests.test___doc___elementcCs>ddlm}Gdd�d|�}Gdd�d�}|�t|j|�dS)Nrrc@rk)z&InterfaceTests.testIssue228.<locals>.IrlNrmrrrrr/�rr/c@seZdZdZdS)z-InterfaceTests.testIssue228.<locals>.OldStyleN)rrr�__providedBy__rrrr�OldStyle�rr�)rrrMr�r~)r%rr/r�rrr�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)NrrrErKrr�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)�obr�rr�range_invariant�s�zJInterfaceTests.test_invariant_as_decorator.<locals>.IRange.range_invariantN)rrrr�r�r�r�rFr�r	rr�IRange�s
r�c@r�)z9InterfaceTests.test_invariant_as_decorator.<locals>.RangecSs|||_|_dSr
)r�r�)r%r�r�rrrr��rzBInterfaceTests.test_invariant_as_decorator.<locals>.Range.__init__Nr�rrrr�Range�sr�r$rr�)rrrFrLr	ryr�r!r�r"r�)r%rrLr�r�r~rr�r�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)NrrErr,cs&eZdZ�d�Z�d�Z�dd�dS)z0InterfaceTests.test_taggedValue.<locals>.ITaggedrSr�r2�SpamN)rrrrSr.r�rFr-rr�ITagged�sr�cs eZdZ�dd��dd�dS)z1InterfaceTests.test_taggedValue.<locals>.IDerivedr2�	Spam SpamrSr.Nrrr,rrr��s
r�c@r�)z2InterfaceTests.test_taggedValue.<locals>.IDerived2Nrrrrr�	IDerived2�r�r�r2r�rSr�r.)rrFrr-r"rOrMrNrDrE�set)r%rr�r�r�rr�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,rEc�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�)rr-rF)	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)Nrrr�r�r�)rrr�r!r"r�rrOrYrrU)r%r�class_A�iface_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)Nrrr�r�r$r�)rrr�r6rcr"rDrTrMrNr`rUrr)r%rr�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)NrrrEcrG)z<InterfaceTests.test_description_cache_management.<locals>.I1r�N)rrrr�rrErrr�'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�)rrrFr�r2r)r%rr�r�r�rrEr�!test_description_cache_management sz0InterfaceTests.test_description_cache_managementcCsVddlm}ddlm}Gdd�d|�}||�Gdd�dt��}|�||��d�dS)NrrrKc@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�>r|zJInterfaceTests.test___call___defers_to___conform___.<locals>.C.__conform__Nr�rrrrr�<r�r�)rrrLr!r")r%rrLr/r�rrr�$test___call___defers_to___conform___5sz3InterfaceTests.test___call___defers_to___conform___cCs\ddlm}ddlm}Gdd�d|�}||�Gdd�dt��}|�}|�||�|u�dS)NrrrKc@r�)z9InterfaceTests.test___call___object_implements.<locals>.INrrrrrr/Gr�r/c@r�)z9InterfaceTests.test___call___object_implements.<locals>.CNrrrrrr�JrRr�)rrrLr!r�)r%rrLr/r��crrr�test___call___object_implementsCsz.InterfaceTests.test___call___object_implementscCsDddlm}Gdd�d|�}Gdd�dt�}|�}|�t||�dS)Nrrc@r�)z9InterfaceTests.test___call___miss_wo_alternate.<locals>.INrrrrrr/Tr�r/c@r�)z9InterfaceTests.test___call___miss_wo_alternate.<locals>.CNrrrrrr�Wr�r�)rrr!rMr��r%rr/r�r�rrr�test___call___miss_wo_alternateQs
z.InterfaceTests.test___call___miss_wo_alternatecCsJddlm}Gdd�d|�}Gdd�dt�}|�}|�|||�|u�dS)Nrrc@r�)z8InterfaceTests.test___call___miss_w_alternate.<locals>.INrrrrrr/`r�r/c@r�)z8InterfaceTests.test___call___miss_w_alternate.<locals>.CNrrrrrr�cr�r�)rrr!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)NrrrcSrr
rr
rrr�_missmr|z:InterfaceTests.test___call___w_adapter_hook.<locals>._misscrxr
rr
rqrr�_hitpr|z9InterfaceTests.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�)rrr rr!r�)	r%rrr�r�r/r�r��old_adapter_hooksrrqr�test___call___w_adapter_hookisz+InterfaceTests.test___call___w_adapter_hookcsxddlm}ddlm�ddlm}G�fdd�d|�}||�Gdd�dt��}|�d	|t���|�d	||���dS)
Nrr��interfacemethodrKc�eZdZ�dd��ZdS)z:InterfaceTests.test___call___w_overridden_adapt.<locals>.IcSr��Nr�rr�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��rRr�r�)rrr�rLr!r")r%rrLr/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)Nrrr�rKcr�)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@rk)zLInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ISimplezNothing special.Nrmrrrrr4�rr4c@r�)zNInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.Conform24cSr��N�rr�rrrr��r|zZInterfaceTests.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>.ConformNonecSrr
rr�rrrr��r|z\InterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ConformNone.__conform__Nr�rrrr�ConformNone�r�r�r�r�)rrr�rLr!r"rMr�)r%rrLr�r4r�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)
Nrrr�rKcs$eZdZ����fdd��Z�ZS)zEInterfaceTests.test___call___w_overridden_adapt_call_super.<locals>.Ics@|�|�sdS�jdd�dkrt��|�Stt��|��|�S)Nr�r)rK�)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��rRr�r�)r�rrr�rLr!r"r�)r%rrLr��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)	Nrrr�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)�to_adaptrrrr	�reNr�rr�rrr/�s
r/r�r	z
(to_adapt))rrr�r"r!�getSignatureString�r%rr/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)Nrrr�c@rk)z@InterfaceTests.test___adapt__inheritance_and_type.<locals>.IRoot�RootNrmrrrr�IRoot�rr�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@rk)zAInterfaceTests.test___adapt__inheritance_and_type.<locals>.IOtherz
Second branchNrmrrrrrP�rrPc@rk)zEInterfaceTests.test___adapt__inheritance_and_type.<locals>.IUnrelated�	UnrelatedNrmrrrr�
IUnrelated�rr�c@rk)zHInterfaceTests.test___adapt__inheritance_and_type.<locals>.IDerivedAdaptzInherits an adaptNrmrrrr�
IDerivedAdapt�rr�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)rrrrBr	rr�rr�IDerived2Adapt�sr�r�r�)
rrr�r"r!rrr��assertNotEqualr�)	r%rr�r�rPr�r�r�r�rr�r�"test___adapt__inheritance_and_type�s&z1InterfaceTests.test___adapt__inheritance_and_typecsPddlm}ddlm�G�fdd�d|�}|�||�d�|�|��d�dS)Nrrr�cs$eZdZ�dd��Z�dd��ZdS)z9InterfaceTests.test_interfacemethod_is_general.<locals>.IcSr�)zReplace an existing methodr�rr�rrrr�	szBInterfaceTests.test_interfacemethod_is_general.<locals>.I.__call__cSr�r�rrqrrr�this_is_new	r�zEInterfaceTests.test_interfacemethod_is_general.<locals>.I.this_is_newN)rrrr�r�rr�rrr/	s

r/r�)rrr�r"r�r�rr�r�test_interfacemethod_is_general	s
z.InterfaceTests.test_interfacemethod_is_generalN)9rrrr�r�rrrrrr"r.r0r2r7r@rFrMrQrVrZr\r^r_r`rbrcrdrfrgrjrprsr�r�r�r�r�rr�r�r�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�
TestAttributecCr9)NrrE)r rF)r%rFrrrr;&	r<zAttributeTests._getTargetClasscCsJ|��}t|�|_t|�}|�|�d�|�|�|�dtd�|�dS)N�-<zope.interface.interface.Attribute object at� z.AttributeTests.TestAttribute>)r?r�ru�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�rur�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)�MethodTests�
TestMethodcCr9)NrrA)r rB)r%rBrrrr;G	r<zMethodTests._getTargetClasscCsH|��}|�|ji�ddi|_|�|jddi�|`|�|ji�dSrR)r?r"rh�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)ryr�r?r"rur>r=rx)r%r�r�r~rrr�)test___call___raises_BrokenImplementationS	s
��z5MethodTests.test___call___raises_BrokenImplementationcCsl|��}|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|dd�dS)N�
positional�requiredrh�varargs�kwargs)r?�getSignatureInfor"rD)r%r��inforrr�test_getSignatureInfo_bare^	sz&MethodTests.test_getSignatureInfo_barecCs|��}|�|��d�dS)Nz())r?r"r�r�rrr�test_getSignatureString_bareg	rQz(MethodTests.test_getSignatureString_barecCs*|��}dg|_|_|�|��d�dS)NrSz(foo))r?rrr"r�r�rrr�'test_getSignatureString_w_only_requiredk	sz3MethodTests.test_getSignatureString_w_only_requiredcCs4|��}dg|_|_ddi|_|�|��d�dS)NrSr.z(foo='bar'))r?rrrhr"r�r�rrr�"test_getSignatureString_w_optionalp	s
z.MethodTests.test_getSignatureString_w_optionalcC�"|��}d|_|�|��d�dS)Nrz(*args))r?rr"r�r�rrr�!test_getSignatureString_w_varargsv	r-z-MethodTests.test_getSignatureString_w_varargscCr)Nrz(**kw))r?rr"r�r�rrr� test_getSignatureString_w_kwargs{	r-z,MethodTests.test_getSignatureString_w_kwargscCsP|��}d|_t|�|_t|�}|�|�d�|�|�|�dtd�|�dS)Nr�*<zope.interface.interface.Method object atr�z.MethodTests.TestMethod(**kw)>)	r?rr�rur�r�r�r�rr�rrrr��	s
z#MethodTests.test__repr__w_interfacecCs>|��}d|_t|�}|�|�d�|�|�|�d�|�dS)Nrrz TestMethod(**kw)>)r?rr�r�r�r�r�rrrr��	s
z$MethodTests.test__repr__wo_interfacecCs4|��}d|_t|�|_t|�}|�|td�dS)Nrz.MethodTests.TestMethod(**kw))r?rr�rur�r"rr�rrrr��	s

z"MethodTests.test__str__w_interfacecCs&|��}d|_t|�}|�|d�dS)NrzTestMethod(**kw))r?rr�r"r�rrrr��	sz#MethodTests.test__str__wo_interfaceN)rrrr=r;r�rrrr	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)Nrr`)r ra)r%rrrarrr�_callFUT�	�zTest_fromFunction._callFUTcC�dd�}|�|�}|�|��d�|�|��d�|�|jd�|�t|���g�|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|d	d�dS)
NcSr�rbrrrrr�_func�	rez*Test_fromFunction.test_bare.<locals>._funcrrcrrrhrr�rr"rArCrurDrEr�r%rr�rrrr�	test_bare�	�
zTest_fromFunction.test_barecCsDddlm}Gdd�d|�}dd�}|j||d�}|�|j|�dS)NrrWc@r�)z0Test_fromFunction.test_w_interface.<locals>.IFooNrrrrrr8�	r�r8cSr�rbrrrrrr�	rez1Test_fromFunction.test_w_interface.<locals>._funcrt)r rXrr"ru)r%rXr8rr�rrr�test_w_interface�	s
z"Test_fromFunction.test_w_interfacecCs*dd�}|j|dd�}|�|��d�dS)NcSr�rbrrrrrr�	rez,Test_fromFunction.test_w_name.<locals>._func�anotherName)r>)rr"rA)r%rr�rrr�test_w_name�	szTest_fromFunction.test_w_namecCszdd�}|�|�}|��}|�t|d�dg�|�t|d�dg�|�|di�|�|dd�|�|dd�dS)	NcSr�rbr�rSrrrr�	rez5Test_fromFunction.test_w_only_required.<locals>._funcrrSrrhrr�rrr"rDrrrr�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�rbrrrrrr�	rez0Test_fromFunction.test_w_optional.<locals>._funcrrSrrhrr�r.rrrrr�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�rbrrqrrrr�	rez5Test_fromFunction.test_w_optional_self.<locals>._funcr$)�imlevelrrrhrrrrrrrr�test_w_optional_self�	s
z&Test_fromFunction.test_w_optional_selfcCsvdd�}|�|�}|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|dd�dS)	NcWr�rbrrtrrrr�	rez/Test_fromFunction.test_w_varargs.<locals>._funcrrrhrrrrrrrr�test_w_varargs�	�
z Test_fromFunction.test_w_varargscCsvdd�}|�|�}|��}|�t|d�g�|�t|d�g�|�|di�|�|dd�|�|dd�dS)	Nc[r�rbr)rrrrr�	rez.Test_fromFunction.test_w_kwargs.<locals>._funcrrrhrrrrrrrr�
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�rbr)rSr.rrrrrr
rez3Test_fromFunction.test_full_spectrum.<locals>._funcrrSr.rrhrrrr�r/rrrrr�test_full_spectrum�	s

z$Test_fromFunction.test_full_spectrumN)
rrrrrrrrr r"r#r%r'rrrrr�	s	rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�Test_fromMethodcOr)Nr)�
fromMethod)r r))r%rrr)rrrr
rzTest_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�rbrrqrrrr.
rez-Test_fromMethod.test_no_args.<locals>.Foo.barNrHrrrrr
rrr.rcrrrhrr)
r!rr.r"rArCrurDrEr�r%rr�rrrr�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�rbr)r%rSr.rrrrrr.#
rez3Test_fromMethod.test_full_spectrum.<locals>.Foo.barNr&rHrrrrr"
srrrSr.rrhr/rrrr)r!rr.rr"rDr*rrrr'!
sz"Test_fromMethod.test_full_spectrumcCr)
NcSr�rbrrrrrrS.
rez.Test_fromMethod.test_w_non_method.<locals>.foorSrcrrrhrrr)r%rSr�rrrr�test_w_non_method-
rz!Test_fromMethod.test_w_non_methodN)rrrrr+r'r,rrrrr(
s
r(c@r)r%cCs
g|_dSr
)r1rqrrrr�>
rrzDummyDependent.__init__cCs|j�|�dSr
)r1r)r%�originally_changedrrrr5A
szDummyDependent.changedN)rrrr�r5rrrrr%<
sr%cCsVddlm}t|dd�}t|dd�}|dur%t|t|��r'||ks)|d��dSdSdS)Nrr�rSr.r�)ryr�r#r�r�)rzr�rSr.rrrr�E
s�r�cCs4ddlm}t|dd�rt|dd�s|d��dSdS)Nrr�rSr.r�)ryr�r#)rzr�rrrr�Q
s�r�c@r*)r�cs<�|_�fdd�|D�|_|��D]
\}}t�||�qdS)Ncsi|]}|t�|��qSr)r#)ru�key�r�rr�
<dictcomp>[
sz$_Monkey.__init__.<locals>.<dictcomp>)r��
to_restore�items�setattr)r%r�rr.r(rr/rr�Y
s
�z_Monkey.__init__cCs|Sr
rrqrrr�	__enter___
r|z_Monkey.__enter__cCs&|j��D]\}}t|j||�qdSr
)r1r2r3r�)r%�exc_type�exc_val�exc_tbr.r(rrr�__exit__b
s�z_Monkey.__exit__N)rrrr�r4r8rrrrr�W
sr�) rB�unittest�zope.interface._compatr�zope.interface.testsrrrr!r�TestCaserr+r7rmr�r�r�r�rrrrVr�r�r�rr(r%r�r�r�rrrr�<module>s^

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

Anon7 - 2022
AnonSec Team