a 5dg7 @sddZddlZGdddeZGdddedZGdd d eZGd d d ejZed kr`e dS) z7Unit tests for __instancecheck__ and __subclasscheck__.Nc@seZdZddZddZdS)ABCcs tfddt||jhDS)z Implement isinstance(inst, cls).c3s|]}|VqdSN)__subclasscheck__.0ccls0/usr/local/lib/python3.9/test/test_typechecks.py sz(ABC.__instancecheck__..)anytype __class__)r instr rr __instancecheck__s  zABC.__instancecheck__cs0|jdt|hBtfdd|DS)zImplement issubclass(sub, cls). __subclass__c3s|]}|vVqdSrr rZ candidatesr r r z(ABC.__subclasscheck__..)__dict__getsetr mro)r subr rr r szABC.__subclasscheck__N)__name__ __module__ __qualname__rrr r r r rsrc@seZdZehZdS)IntegerN)rrrintrr r r r rsr) metaclassc@s eZdZdS)SubIntN)rrrr r r r r sr c@s<eZdZddZddZddZddZd d Zd d Zd S)TypeChecksTestcCs(|ttd|ttddSNTF) assertEqualrrrfloatselfr r r testIsSubclassInternalsz%TypeChecksTest.testIsSubclassInternalcCsP|tttd|tttfd|tttd|tttfddSr")r# issubclassrrr$r%r r r testIsSubclassBuiltin!sz$TypeChecksTest.testIsSubclassBuiltincCsP|tdtd|tdtfd|tdtd|tdtfddS)N*TgQ @Fr# isinstancerr%r r r testIsInstanceBuiltin'sz$TypeChecksTest.testIsInstanceBuiltincCs.|tttd|tttfddSNTr+r%r r r testIsInstanceActual-sz#TypeChecksTest.testIsInstanceActualcCs*|tttd|tttfddSr.)r#r(rr%r r r testIsSubclassActual1sz#TypeChecksTest.testIsSubclassActualcCs|tttd|tttfd|tttd|tttfd|tttd|tttfd|tttd|tttfd|tttd|tttfd|tttd|tttfd|tdtd|tdtfddS)NTFr*)r#r(r rrr,r%r r r testSubclassBehavior5sz#TypeChecksTest.testSubclassBehaviorN) rrrr'r)r-r/r0r1r r r r r!s r!__main__) __doc__Zunittestrrrr ZTestCaser!rmainr r r r s +