a 5dg)@sddlZddlZGdddejZGdddejZGdddeZGdd d eZed d Zeefd Z Gd d d Z Gddde Z GdddejZ ddZ edkredS)Nc@s4eZdZddZddZddZddZd d Zd S) TestIsInstanceExceptionscCs:Gdddt}Gdddt}|dt||dS)Nc@seZdZddZeeZdS)z;TestIsInstanceExceptions.test_class_has_no_bases..IcSsdSNselfrr0/usr/local/lib/python3.9/test/test_isinstance.pygetclassszDTestIsInstanceExceptions.test_class_has_no_bases..I.getclassN__name__ __module__ __qualname__rproperty __class__rrrrIsrc@seZdZddZeeZdS)z;TestIsInstanceExceptions.test_class_has_no_bases..CcSsdSNrrrrrrgetbases!szDTestIsInstanceExceptions.test_class_has_no_bases..C.getbasesNr r r rr __bases__rrrrC srF)object assertEqual isinstancerrrrrrtest_class_has_no_basessz0TestIsInstanceExceptions.test_class_has_no_basescsLGdddtGfdddt}Gdddt}|tt||dS)Nc@seZdZddZeeZdS)zPTestIsInstanceExceptions.test_bases_raises_other_than_attribute_error..EcSstdSr RuntimeErrorrrrrr+szYTestIsInstanceExceptions.test_bases_raises_other_than_attribute_error..E.getbasesNrrrrrE*srcs eZdZfddZeeZdS)zPTestIsInstanceExceptions.test_bases_raises_other_than_attribute_error..IcsSrrrrrrr0szYTestIsInstanceExceptions.test_bases_raises_other_than_attribute_error..I.getclassNr rrrrr/s rc@seZdZddZeeZdS)zPTestIsInstanceExceptions.test_bases_raises_other_than_attribute_error..CcSsdSrrrrrrr5szYTestIsInstanceExceptions.test_bases_raises_other_than_attribute_error..C.getbasesNrrrrrr4srr assertRaisesrrrrrr,test_bases_raises_other_than_attribute_error)szETestIsInstanceExceptions.test_bases_raises_other_than_attribute_errorcCs6Gddd}Gdddt}|tt||dS)Nc@s eZdZdS)zFTestIsInstanceExceptions.test_dont_mask_non_attribute_error..INr r r rrrrr>rc@seZdZddZeeZdS)zFTestIsInstanceExceptions.test_dont_mask_non_attribute_error..CcSstdSrrrrrrrAszOTestIsInstanceExceptions.test_dont_mask_non_attribute_error..C.getbasesNrrrrrr@srrrrrr"test_dont_mask_non_attribute_error=sz;TestIsInstanceExceptions.test_dont_mask_non_attribute_errorcCs6Gddd}Gdddt}|tt||dS)Nc@s eZdZdS)z=TestIsInstanceExceptions.test_mask_attribute_error..INr!rrrrrJr"rc@seZdZddZeeZdS)z=TestIsInstanceExceptions.test_mask_attribute_error..CcSstdSrAttributeErrorrrrrrMszFTestIsInstanceExceptions.test_mask_attribute_error..C.getbasesNrrrrrrLsr)rr TypeErrorrrrrrtest_mask_attribute_errorIsz2TestIsInstanceExceptions.test_mask_attribute_errorcCsHGdddt}|}|tt|tGddd}|tt||dS)Nc@seZdZddZeeZdS)zQTestIsInstanceExceptions.test_isinstance_dont_mask_non_attribute_error..CcSstdSrrrrrrrWszZTestIsInstanceExceptions.test_isinstance_dont_mask_non_attribute_error..C.getclassNr rrrrrVsrc@s eZdZdS)zQTestIsInstanceExceptions.test_isinstance_dont_mask_non_attribute_error..DNr!rrrrD_r"r()rrrrbool)rrcr(rrr-test_isinstance_dont_mask_non_attribute_errorUs zFTestIsInstanceExceptions.test_isinstance_dont_mask_non_attribute_errorN)r r r rr r#r'r+rrrrr s   rc@s,eZdZddZddZddZddZd S) TestIsSubclassExceptionscCs8Gdddt}Gddd|}|tt||dS)Nc@seZdZddZeeZdS)zFTestIsSubclassExceptions.test_dont_mask_non_attribute_error..CcSstdSrrrrrrriszOTestIsSubclassExceptions.test_dont_mask_non_attribute_error..C.getbasesNrrrrrrhsrc@s eZdZdS)zFTestIsSubclassExceptions.test_dont_mask_non_attribute_error..SNr!rrrrSmr"r-rrr issubclassrrr-rrrr#gsz;TestIsSubclassExceptions.test_dont_mask_non_attribute_errorcCs8Gdddt}Gddd|}|tt||dS)Nc@seZdZddZeeZdS)z=TestIsSubclassExceptions.test_mask_attribute_error..CcSstdSrr$rrrrrsszFTestIsSubclassExceptions.test_mask_attribute_error..C.getbasesNrrrrrrrsrc@s eZdZdS)z=TestIsSubclassExceptions.test_mask_attribute_error..SNr!rrrrr-wr"r-rrr&r/r0rrrr'qsz2TestIsSubclassExceptions.test_mask_attribute_errorcCs4Gddd}Gdddt}|tt||dS)Nc@s eZdZdS)zQTestIsSubclassExceptions.test_dont_mask_non_attribute_error_in_cls_arg..BNr!rrrrBr"r2c@seZdZddZeeZdS)zQTestIsSubclassExceptions.test_dont_mask_non_attribute_error_in_cls_arg..CcSstdSrrrrrrrszZTestIsSubclassExceptions.test_dont_mask_non_attribute_error_in_cls_arg..C.getbasesNrrrrrrsrr.rr2rrrr-test_dont_mask_non_attribute_error_in_cls_argszFTestIsSubclassExceptions.test_dont_mask_non_attribute_error_in_cls_argcCs4Gddd}Gdddt}|tt||dS)Nc@s eZdZdS)zHTestIsSubclassExceptions.test_mask_attribute_error_in_cls_arg..BNr!rrrrr2r"r2c@seZdZddZeeZdS)zHTestIsSubclassExceptions.test_mask_attribute_error_in_cls_arg..CcSstdSrr$rrrrrszQTestIsSubclassExceptions.test_mask_attribute_error_in_cls_arg..C.getbasesNrrrrrrsrr1r3rrr$test_mask_attribute_error_in_cls_argsz=TestIsSubclassExceptions.test_mask_attribute_error_in_cls_argN)r r r r#r'r4r5rrrrr,fs  r,c@s,eZdZddZddZeeZddZdS) AbstractClasscCs ||_dSrbases)rr8rrr__init__szAbstractClass.__init__cCs|jSrr7rrrrrszAbstractClass.getbasescCst|Sr)AbstractInstancerrrr__call__szAbstractClass.__call__N)r r r r9rr rr;rrrrr6sr6c@s$eZdZddZddZeeZdS)r:cCs ||_dSrklass)rr=rrrr9szAbstractInstance.__init__cCs|jSrr<rrrrrszAbstractInstance.getclassN)r r r r9rr rrrrrr:sr:rr7c@s eZdZdS)SuperNr!rrrrr>sr>c@s eZdZdS)ChildNr!rrrrr?sr?c@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)TestIsInstanceIsSubclasscCs||dttt|dttt|dttt|dttt|dttt|dtttdSNTF)rrr>r? AbstractSuper AbstractChildrrrrtest_isinstance_normals z/TestIsInstanceIsSubclass.test_isinstance_normalcCs|dttt|dttt|dttt|dttt|dttt|dttt|dttt|dtttdSrA)rrrBrCr>r?rrrrtest_isinstance_abstractsz1TestIsInstanceIsSubclass.test_isinstance_abstractcCsp|dttt|dttt|dttt|dttt|dttt|dtttdSrA)rr/r>rBr?rrrrtest_subclass_normals z-TestIsInstanceIsSubclass.test_subclass_normalcCs|dttt|dttt|dttt|dttt|dttt|dttt|dtttdSrA)rr/rBrCr?r>rrrrtest_subclass_abstractsz/TestIsInstanceIsSubclass.test_subclass_abstractcCs|dtttf|dtttf|dtttf|dttttf|dttd|dttttff|dtttttff|dtttttffdS)NTFr)rr/r?r>intfloatstrrrrrtest_subclass_tuplesz,TestIsInstanceIsSubclass.test_subclass_tuplecCs|tttttdSr)rRecursionError blowstackr/rJrrrrtest_subclass_recursion_limitsz6TestIsInstanceIsSubclass.test_subclass_recursion_limitcCs|tttdtdS)N)rrLrMrrJrrrrtest_isinstance_recursion_limitsz8TestIsInstanceIsSubclass.test_isinstance_recursion_limitcs8GdddGfddd}|dt|tdS)Nc@seZdZeddZdS)zETestIsInstanceIsSubclass.test_issubclass_refcount_handling..AcSstfSr)rHrrrrrszOTestIsInstanceIsSubclass.test_issubclass_refcount_handling..A.__bases__Nr r r r rrrrrAsrRcs$eZdZddZefddZdS)zETestIsInstanceIsSubclass.test_issubclass_refcount_handling..BcSs d|_dS)N)xrrrrr9szNTestIsInstanceIsSubclass.test_issubclass_refcount_handling..B.__init__csfSrrrrRrrr szOTestIsInstanceIsSubclass.test_issubclass_refcount_handling..B.__bases__N)r r r r9r rrrUrrr2sr2T)rr/rH)rr2rrUr!test_issubclass_refcount_handlings z:TestIsInstanceIsSubclass.test_issubclass_refcount_handlingcCsHGddd}|tt|t|ttt||ttd|dS)Nc@seZdZeddZdS)zDTestIsInstanceIsSubclass.test_infinite_recursion_in_bases..XcSs|jSr)rrrrrrszNTestIsInstanceIsSubclass.test_infinite_recursion_in_bases..X.__bases__NrQrrrrXsrWrS)rrLr/rHr)rrWrrr test_infinite_recursion_in_basessz9TestIsInstanceIsSubclass.test_infinite_recursion_in_basesN) r r r rDrErFrGrKrNrPrVrXrrrrr@s     r@cCs0|f}ttdD]}|f}|||qdS)N)rangesysgetrecursionlimit)fxnargZ compare_toZ tuple_argZcntrrrrMsrM__main__)Zunittestr[ZTestCaserr,rr6r:rBrCr>r?r@rMr mainrrrrs\0   h