Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_abc.cpython-35.opt-1.pyc



��YfN5�@s�dZddlZddlmZddlZddlmZGdd�dej�ZGdd�dej�Z	e
d	kr�ej�dS)
zUnit tests for abc.py.�N)�support)�
isabstractc@s4eZdZdd�Zdd�Zdd�ZdS)�
TestLegacyAPIcCs�tjdd��}|j|j�dd�}|jt|d��Gdd�ddtj�}|jt|�Gd	d
�d
|�}|j	|�j
d�|jt|j
dd��dS)
NcSsdS)N�)�selfrr�2/opt/alt/python35/lib64/python3.5/test/test_abc.py�foosz7TestLegacyAPI.test_abstractproperty_basics.<locals>.foocSsdS)Nr)rrrr�barsz7TestLegacyAPI.test_abstractproperty_basics.<locals>.bar�__isabstractmethod__c@s%eZdZejdd��ZdS)z5TestLegacyAPI.test_abstractproperty_basics.<locals>.CcSsdS)N�r)rrrrrsz9TestLegacyAPI.test_abstractproperty_basics.<locals>.C.fooN)�__name__�
__module__�__qualname__�abc�abstractpropertyrrrrr�Csr�	metaclasscs(eZdZe�fdd��Z�S)z5TestLegacyAPI.test_abstractproperty_basics.<locals>.Dcs
t�jS)N)�superr)r)�	__class__rrrsz9TestLegacyAPI.test_abstractproperty_basics.<locals>.D.foo)rr
r�propertyrrr)rr�DsrrF)rr�
assertTruer
�assertFalse�hasattr�ABCMeta�assertRaises�	TypeError�assertEqualr�getattr)rrr	rrrrr�test_abstractproperty_basicssz*TestLegacyAPI.test_abstractproperty_basicscCs�tjdd��}|j|j�tdd��}|jt|dd��Gdd�dd	tj�}|jt	|�Gd
d�d|�}|j
|j�d�|j
|�j�d�dS)NcSsdS)Nr)�clsrrrr!sz:TestLegacyAPI.test_abstractclassmethod_basics.<locals>.foocSsdS)Nr)r rrrr	$sz:TestLegacyAPI.test_abstractclassmethod_basics.<locals>.barr
Fc@s%eZdZejdd��ZdS)z8TestLegacyAPI.test_abstractclassmethod_basics.<locals>.CcSs|jS)N)r)r rrrr)sz<TestLegacyAPI.test_abstractclassmethod_basics.<locals>.C.fooN)rr
rr�abstractclassmethodrrrrrr(srrcs(eZdZe�fdd��Z�S)z8TestLegacyAPI.test_abstractclassmethod_basics.<locals>.Dcs
t�j�S)N)rr)r )rrrr-sz<TestLegacyAPI.test_abstractclassmethod_basics.<locals>.D.foo)rr
r�classmethodrrr)rrr,sr)rr!rr
r"rrrrrrr)rrr	rrrrr�test_abstractclassmethod_basics sz-TestLegacyAPI.test_abstractclassmethod_basicscCs�tjdd��}|j|j�tdd��}|jt|dd��Gdd�dd	tj�}|jt	|�Gd
d�d|�}|j
|j�d�|j
|�j�d�dS)
NcSsdS)Nrrrrrr3sz;TestLegacyAPI.test_abstractstaticmethod_basics.<locals>.foocSsdS)Nrrrrrr	6sz;TestLegacyAPI.test_abstractstaticmethod_basics.<locals>.barr
Fc@s%eZdZejdd��ZdS)z9TestLegacyAPI.test_abstractstaticmethod_basics.<locals>.CcSsdS)Nrrrrrrr;sz=TestLegacyAPI.test_abstractstaticmethod_basics.<locals>.C.fooN)rr
rr�abstractstaticmethodrrrrrr:srrc@s"eZdZedd��ZdS)z9TestLegacyAPI.test_abstractstaticmethod_basics.<locals>.DcSsdS)N�rrrrrr?sz=TestLegacyAPI.test_abstractstaticmethod_basics.<locals>.D.fooN)rr
r�staticmethodrrrrrr>srr%)rr$rr
r&rrrrrrr)rrr	rrrrr� test_abstractstaticmethod_basics2sz.TestLegacyAPI.test_abstractstaticmethod_basicsN)rr
rrr#r'rrrrr
src@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#S)$�TestABCcCsrGdd�dtj�}|jt|�tj�|jt|�Gdd�d|�}|j|j�d�dS)Nc@s+eZdZeejdd���ZdS)z"TestABC.test_ABC_helper.<locals>.CcSs|jS)N)r)r rrrrJsz&TestABC.test_ABC_helper.<locals>.C.fooN)rr
rr"r�abstractmethodrrrrrrIsrcs(eZdZe�fdd��Z�S)z"TestABC.test_ABC_helper.<locals>.Dcs
t�j�S)N)rr)r )rrrrPsz&TestABC.test_ABC_helper.<locals>.D.foo)rr
rr"rrr)rrrOsr)r�ABCr�typerrrr)rrrrrr�test_ABC_helperGs
zTestABC.test_ABC_helpercCsKtjdd��}|j|j�dd�}|jt|d��dS)NcSsdS)Nr)rrrrrUsz/TestABC.test_abstractmethod_basics.<locals>.foocSsdS)Nr)rrrrr	Xsz/TestABC.test_abstractmethod_basics.<locals>.barr
)rr)rr
rr)rrr	rrr�test_abstractmethod_basicsTsz"TestABC.test_abstractmethod_basicscs�ttjdd���}|j|j�dd�}|jt|dd��Gdd�dd	tj��|jt	��G�fd
d�d��}|j
|�jd�dS)
NcSsdS)Nr)rrrrr\sz1TestABC.test_abstractproperty_basics.<locals>.foocSsdS)Nr)rrrrr	`sz1TestABC.test_abstractproperty_basics.<locals>.barr
Fc@s+eZdZeejdd���ZdS)z/TestABC.test_abstractproperty_basics.<locals>.CcSsdS)Nrr)rrrrrdsz3TestABC.test_abstractproperty_basics.<locals>.C.fooN)rr
rrrr)rrrrrrcsrrcs.eZdZ�jj�fdd��Z�S)z/TestABC.test_abstractproperty_basics.<locals>.Dcs
t�jS)N)rr)r)rrrrisz3TestABC.test_abstractproperty_basics.<locals>.D.foo)rr
rr�getterr)r)rrrhsrr)rrr)rr
rrrrrrr)rrr	rr)rrr[sz$TestABC.test_abstractproperty_basicscCs�ttjdd���}|j|j�tdd��}|jt|dd��Gdd�dd	tj�}|jt	|�Gd
d�d|�}|j
|j�d�|j
|�j�d�dS)NcSsdS)Nr)r rrrrnsz4TestABC.test_abstractclassmethod_basics.<locals>.foocSsdS)Nr)r rrrr	rsz4TestABC.test_abstractclassmethod_basics.<locals>.barr
Fc@s+eZdZeejdd���ZdS)z2TestABC.test_abstractclassmethod_basics.<locals>.CcSs|jS)N)r)r rrrrwsz6TestABC.test_abstractclassmethod_basics.<locals>.C.fooN)rr
rr"rr)rrrrrrvsrrcs(eZdZe�fdd��Z�S)z2TestABC.test_abstractclassmethod_basics.<locals>.Dcs
t�j�S)N)rr)r )rrrr|sz6TestABC.test_abstractclassmethod_basics.<locals>.D.foo)rr
rr"rrr)rrr{sr)r"rr)rr
rrrrrrr)rrr	rrrrrr#msz'TestABC.test_abstractclassmethod_basicscCs�ttjdd���}|j|j�tdd��}|jt|dd��Gdd�dd	tj�}|jt	|�Gd
d�d|�}|j
|j�d�|j
|�j�d�dS)
NcSsdS)Nrrrrrr�sz5TestABC.test_abstractstaticmethod_basics.<locals>.foocSsdS)Nrrrrrr	�sz5TestABC.test_abstractstaticmethod_basics.<locals>.barr
Fc@s+eZdZeejdd���ZdS)z3TestABC.test_abstractstaticmethod_basics.<locals>.CcSsdS)Nrrrrrrr�sz7TestABC.test_abstractstaticmethod_basics.<locals>.C.fooN)rr
rr&rr)rrrrrr�srrc@s"eZdZedd��ZdS)z3TestABC.test_abstractstaticmethod_basics.<locals>.DcSsdS)Nr%rrrrrr�sz7TestABC.test_abstractstaticmethod_basics.<locals>.D.fooN)rr
rr&rrrrrr�srr%)r&rr)rr
rrrrrrr)rrr	rrrrrr'�sz(TestABC.test_abstractstaticmethod_basicscsrxktjtjtjtjgD]K�G�fdd�ddtj�}|j|jdh�|jt	|�|j
t|��Gdd�d|�}|j|jdh�|jt	|�|j
t|��Gdd�d|�}|j|jt��|�|j
t|��G�fd	d
�d
|�}|j|jdh�|jt	|�|j
t|��qWdS)Ncs.eZdZ�dd��Zdd�ZdS)z2TestABC.test_abstractmethod_integration.<locals>.CcSsdS)Nr)rrrrr�sz6TestABC.test_abstractmethod_integration.<locals>.C.foocSsdS)Nr)rrrrr	�sz6TestABC.test_abstractmethod_integration.<locals>.C.barN)rr
rrr	r)�
abstractthingrrr�srrrc@seZdZdd�ZdS)z2TestABC.test_abstractmethod_integration.<locals>.DcSsdS)Nr)rrrrr	�sz6TestABC.test_abstractmethod_integration.<locals>.D.barN)rr
rr	rrrrr�src@seZdZdd�ZdS)z2TestABC.test_abstractmethod_integration.<locals>.EcSsdS)Nr)rrrrr�sz6TestABC.test_abstractmethod_integration.<locals>.E.fooN)rr
rrrrrr�E�sr0cs"eZdZ�dd��ZdS)z2TestABC.test_abstractmethod_integration.<locals>.FcSsdS)Nr)rrrrr	�sz6TestABC.test_abstractmethod_integration.<locals>.F.barN)rr
rr	r)r/rr�F�sr1r	)rr)rr!r$rr�__abstractmethods__rrrr�setr)rrrr0r1r)r/r�test_abstractmethod_integration�s&"z'TestABC.test_abstractmethod_integrationcs�Gdd�ddtj��|jt��G�fdd�d���|jt��G�fdd�d��}|j|�jd�Gd	d
�d
t��|jt��!G�fdd�d��}WdQRXdS)
Nc@sIeZdZeejdd���Zejejdd���ZdS)z7TestABC.test_descriptors_with_abstractmethod.<locals>.CcSsdS)Nrr)rrrrr�sz;TestABC.test_descriptors_with_abstractmethod.<locals>.C.foocSsdS)Nr)r�valrrrr�sN)rr
rrrr)r�setterrrrrr�srrcs.eZdZ�jj�fdd��Z�S)z7TestABC.test_descriptors_with_abstractmethod.<locals>.Dcs
t�jS)N)rr)r)rrrr�sz;TestABC.test_descriptors_with_abstractmethod.<locals>.D.foo)rr
rrr.r)r)rrr�srcs(eZdZ�jjdd��ZdS)z7TestABC.test_descriptors_with_abstractmethod.<locals>.EcSsdS)Nr)rr5rrrr�sz;TestABC.test_descriptors_with_abstractmethod.<locals>.E.fooN)rr
rrr6r)rrrr0�sr0rc@s"eZdZdd�ZeZdS)z=TestABC.test_descriptors_with_abstractmethod.<locals>.NotBoolcSs
t��dS)N)�
ValueError)rrrr�__bool__�szFTestABC.test_descriptors_with_abstractmethod.<locals>.NotBool.__bool__N)rr
rr8�__len__rrrr�NotBool�sr:cs4eZdZdd�Z��e_ee�ZdS)z7TestABC.test_descriptors_with_abstractmethod.<locals>.FcSsdS)Nr)rrrrr	�sz;TestABC.test_descriptors_with_abstractmethod.<locals>.F.barN)rr
rr	r
rrr)r:rrr1�sr1)rrrrrr�objectr7)rr0r1r)rrr:r�$test_descriptors_with_abstractmethod�sz,TestABC.test_descriptors_with_abstractmethodcs�G�fdd�d��G�fdd�ddtj��|jt��G�fdd�d���|jt��G�fdd	�d	��}|j|jj�dS)
NcsUeZdZddd�Z�fdd�Z�fdd�Zedd	��ZdS)
zFTestABC.test_customdescriptors_with_abstractmethod.<locals>.DescriptorNcSs||_||_dS)N)�_fget�_fset)r�fget�fsetrrr�__init__�s	zOTestABC.test_customdescriptors_with_abstractmethod.<locals>.Descriptor.__init__cs�||j�S)N)r=)r�callable)�
Descriptorrrr.�szMTestABC.test_customdescriptors_with_abstractmethod.<locals>.Descriptor.gettercs�|j|�S)N)r=)rrB)rCrrr6�szMTestABC.test_customdescriptors_with_abstractmethod.<locals>.Descriptor.settercSs(t|jdd�p't|jdd�S)Nr
F)rr=r>)rrrrr
�sz[TestABC.test_customdescriptors_with_abstractmethod.<locals>.Descriptor.__isabstractmethod__)rr
rrAr.r6rr
r)rCrrrC�srCcsIeZdZ�ejdd���Zejejdd���ZdS)z=TestABC.test_customdescriptors_with_abstractmethod.<locals>.CcSsdS)Nrr)rrrrr�szATestABC.test_customdescriptors_with_abstractmethod.<locals>.C.foocSsdS)Nr)rr5rrrr�sN)rr
rrr)rr6r)rCrrr�srrcs.eZdZ�jj�fdd��Z�S)z=TestABC.test_customdescriptors_with_abstractmethod.<locals>.Dcs
t�jS)N)rr)r)rrrr�szATestABC.test_customdescriptors_with_abstractmethod.<locals>.D.foo)rr
rrr.r)r)rrr�srcs(eZdZ�jjdd��ZdS)z=TestABC.test_customdescriptors_with_abstractmethod.<locals>.EcSsdS)Nr)rr5rrrr�szATestABC.test_customdescriptors_with_abstractmethod.<locals>.E.fooN)rr
rrr6r)rrrr0�sr0)rrrrrrr
)rr0r)rrrCr�*test_customdescriptors_with_abstractmethod�s"z2TestABC.test_customdescriptors_with_abstractmethodcCshGdd�ddtj�}|j|jdh�Gdd�dt|�}Gdd�dd|�}dS)	Nc@s%eZdZejdd��ZdS)z%TestABC.test_metaclass_abc.<locals>.AcSsdS)Nr)rrrr�x�sz'TestABC.test_metaclass_abc.<locals>.A.xN)rr
rrr)rErrrr�A�srFrrEc@seZdZdd�ZdS)z(TestABC.test_metaclass_abc.<locals>.metacSsdS)N�r)rrrrrE�sz*TestABC.test_metaclass_abc.<locals>.meta.xN)rr
rrErrrr�meta�srHc@seZdZdS)z%TestABC.test_metaclass_abc.<locals>.CN)rr
rrrrrr�sr)rrrr2r+)rrFrHrrrr�test_metaclass_abc�szTestABC.test_metaclass_abccCssGdd�ddtj�}Gdd�dt�}|�}|jt||��|jt||f��|j||�|j||f�|j|�}|jt||��|jt||f��|j||�|j||f�|j	||�Gdd�d|�}|�}|jt||��|jt||f��|j||�|j||f�dS)Nc@seZdZdS)z+TestABC.test_registration_basics.<locals>.AN)rr
rrrrrrF�srFrc@seZdZdS)z+TestABC.test_registration_basics.<locals>.BN)rr
rrrrr�B�srJc@seZdZdS)z+TestABC.test_registration_basics.<locals>.CN)rr
rrrrrrsr)
rrr;r�
issubclassZassertNotIsInstance�registerr�assertIsInstance�assertIs)rrFrJ�b�B1r�crrr�test_registration_basics�s&		z TestABC.test_registration_basicscCs-Gdd�ddtj�}|jGdd�dt��}|�}|jt||��|jt||f��|j||�|j||f�|jGdd�d|��}|�}|jt||��|jt||f��|j||�|j||f�|j||j|��dS)Nc@seZdZdS)z.TestABC.test_register_as_class_deco.<locals>.AN)rr
rrrrrrFsrFrc@seZdZdS)z.TestABC.test_register_as_class_deco.<locals>.BN)rr
rrrrrrJsrJc@seZdZdS)z.TestABC.test_register_as_class_deco.<locals>.CN)rr
rrrrrrsr)rrrLr;rrKrMrN)rrFrJrOrrQrrr�test_register_as_class_decos 		z#TestABC.test_register_as_class_decocCs�Gdd�ddtj�}Gdd�d�}|�}|jt||��|jt||f��tj�}|j|�tj�}|j||�|jt||��|jt||f��dS)Nc@seZdZdS)z/TestABC.test_isinstance_invalidation.<locals>.AN)rr
rrrrrrF)srFrc@seZdZdS)z/TestABC.test_isinstance_invalidation.<locals>.BN)rr
rrrrrrJ+srJ)rrr�
isinstance�get_cache_tokenrLZassertNotEqualr)rrFrJrOZ	token_oldZ	token_newrrr�test_isinstance_invalidation(s	
z$TestABC.test_isinstance_invalidationcCs9Gdd�ddtj�}|jt�|jd|�|jd|f�|jtt|��|jtt|f��Gdd�d|�}|jt�Gdd�dt�}|jd	|�|jd	|f�|jtt|��|jtt|f��|jt||��|jt||f��dS)
Nc@seZdZdS)z-TestABC.test_registration_builtins.<locals>.AN)rr
rrrrrrF8srFr�*c@seZdZdS)z-TestABC.test_registration_builtins.<locals>.BN)rr
rrrrrrJ?srJc@seZdZdS)z-TestABC.test_registration_builtins.<locals>.CN)rr
rrrrrrBsr�)rrrL�intrMrrK�str)rrFrJrrrr�test_registration_builtins7s

z"TestABC.test_registration_builtinscCs�Gdd�ddtj�}|j|�Gdd�d|�}|jt|j|�Gdd�dt�}|j|�|j|�Gdd	�d	|�}|j|�|jt|j|�|j|�dS)
Nc@seZdZdS)z/TestABC.test_registration_edge_cases.<locals>.AN)rr
rrrrrrFKsrFrc@seZdZdS)z0TestABC.test_registration_edge_cases.<locals>.A1N)rr
rrrrr�A1Nsr\c@seZdZdS)z/TestABC.test_registration_edge_cases.<locals>.BN)rr
rrrrrrJQsrJc@seZdZdS)z/TestABC.test_registration_edge_cases.<locals>.CN)rr
rrrrrrUsr)rrrLr�RuntimeErrorr;)rrFr\rJrrrr�test_registration_edge_casesJs



z$TestABC.test_registration_edge_casescCs9Gdd�ddtj�}|jtd|jd�dS)Nc@seZdZdS)z*TestABC.test_register_non_class.<locals>.AN)rr
rrrrrrF\srFrzCan only register classesr%)rrZassertRaisesRegexrrL)rrFrrr�test_register_non_class[szTestABC.test_register_non_classcCs�Gdd�ddtj�}|jt||��|jt||f��Gdd�ddtj�}|jt||��|jt||f��|jt||��|jt||f��Gdd�ddtj�}|j|�Gdd	�d	|�}|jt||��|jt||f��Gd
d�d|�}|j|�|jt||��|jt||f��|jt||��|jt||f��|jt||��|jt||f��|jt||��|jt||f��|jt||��|jt||f��|jt�Gdd
�d
t�}|jt||��|jt||f��|jd|�|jd|f�dS)Nc@seZdZdS)z3TestABC.test_registration_transitiveness.<locals>.AN)rr
rrrrrrFbsrFrc@seZdZdS)z3TestABC.test_registration_transitiveness.<locals>.BN)rr
rrrrrrJfsrJc@seZdZdS)z3TestABC.test_registration_transitiveness.<locals>.CN)rr
rrrrrrlsrc@seZdZdS)z4TestABC.test_registration_transitiveness.<locals>.B1N)rr
rrrrrrPosrPc@seZdZdS)z4TestABC.test_registration_transitiveness.<locals>.C1N)rr
rrrrr�C1ssr`c@seZdZdS)z7TestABC.test_registration_transitiveness.<locals>.MyIntN)rr
rrrrr�MyInt�srarW)rrrrKrrLrYrM)rrFrJrrPr`rarrr� test_registration_transitivenessas>


z(TestABC.test_registration_transitivenesscs�Gdd�ddtj�}G�fdd�dt��Gdd�d|��}|j�jd�|�|j�jd	�dS)
Nc@seZdZdS)z2TestABC.test_all_new_methods_are_called.<locals>.AN)rr
rrrrrrF�srFrcs+eZdZdZ��fdd�Z�S)z2TestABC.test_all_new_methods_are_called.<locals>.Brcs�jd7_t�j|�S)NrG)�counterr�__new__)r )rJrrrrd�sz:TestABC.test_all_new_methods_are_called.<locals>.B.__new__)rr
rrcrdr)rJ)rrrJ�srJc@seZdZdS)z2TestABC.test_all_new_methods_are_called.<locals>.CN)rr
rrrrrr�srrrG)rrr;rrc)rrFrr)rJr�test_all_new_methods_are_called�sz'TestABC.test_all_new_methods_are_calledN)rr
rr,r-rr#r'r4r<rDrIrRrSrVr[r^r_rbrerrrrr(Es"

'r(�__main__)�__doc__ZunittestZtestrr�inspectrZTestCaserr(r�mainrrrr�<module>s8�S