mirror of
https://github.com/python/cpython.git
synced 2026-01-06 15:32:22 +00:00
Added tests of the new builtin functions issubclass() and isinstance()
This commit is contained in:
parent
4249f54b28
commit
d543077aa6
1 changed files with 36 additions and 0 deletions
|
|
@ -236,6 +236,42 @@ def f(): pass
|
|||
if int(3.5) <> 3: raise TestFailed, 'int(3.5)'
|
||||
if int(-3.5) <> -3: raise TestFailed, 'int(-3.5)'
|
||||
|
||||
print 'isinstance'
|
||||
class C:
|
||||
pass
|
||||
class D(C):
|
||||
pass
|
||||
class E:
|
||||
pass
|
||||
c = C()
|
||||
d = D()
|
||||
e = E()
|
||||
if not isinstance(c, C): raise TestFailed, 'isinstance(c, C)'
|
||||
if not isinstance(d, C): raise TestFailed, 'isinstance(d, C)'
|
||||
if isinstance(e, C): raise TestFailed, 'isinstance(e, C)'
|
||||
if isinstance(c, D): raise TestFailed, 'isinstance(c, D)'
|
||||
if isinstance('foo', E): raise TestFailed, 'isinstance("Foo", E)'
|
||||
try:
|
||||
isinstance(E, 'foo')
|
||||
raise TestFailed, 'isinstance(E, "foo")'
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
print 'issubclass'
|
||||
if not issubclass(D, C): raise TestFailed, 'issubclass(D, C)'
|
||||
if not issubclass(C, C): raise TestFailed, 'issubclass(C, C)'
|
||||
if issubclass(C, D): raise TestFailed, 'issubclass(C, D)'
|
||||
try:
|
||||
issubclass('foo', E)
|
||||
raise TestFailed, 'issubclass("foo", E)'
|
||||
except TypeError:
|
||||
pass
|
||||
try:
|
||||
issubclass(E, 'foo')
|
||||
raise TestFailed, 'issubclass(E, "foo")'
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
print 'len'
|
||||
if len('123') <> 3: raise TestFailed, 'len(\'123\')'
|
||||
if len(()) <> 0: raise TestFailed, 'len(())'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue