]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
more complete tests of built-in functions
authorGuido van Rossum <guido@python.org>
Thu, 10 Nov 1994 22:25:26 +0000 (22:25 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 10 Nov 1994 22:25:26 +0000 (22:25 +0000)
Lib/test/test_b1.py
Lib/test/test_b2.py
Lib/test/testall.out

index 5eb4f09d8fcd30f2721bcb0789e46563a3df66c0..3fab517c0ff1470a9792381697a15ffdb838871a 100644 (file)
@@ -31,6 +31,21 @@ apply(f1, (1,))
 apply(f2, (1, 2))
 apply(f3, (1, 2, 3))
 
+print 'callable'
+if not callable(len):raise TestFailed, 'callable(len)'
+def f(): pass
+if not callable(f): raise TestFailed, 'callable(f)'
+class C:
+       def meth(self): pass
+if not callable(C): raise TestFailed, 'callable(C)'
+x = C()
+if not callable(x.meth): raise TestFailed, 'callable(x.meth)'
+if callable(x): raise TestFailed, 'callable(x)'
+class D(C):
+       def __call__(self): pass
+y = D()
+if not callable(y): raise TestFailed, 'callable(y)'
+
 print 'chr'
 if chr(32) <> ' ': raise TestFailed, 'chr(32)'
 if chr(65) <> 'A': raise TestFailed, 'chr(65)'
@@ -46,6 +61,14 @@ if fcmp(coerce(1, 1.1), (1.0, 1.1)): raise TestFailed, 'coerce(1, 1.1)'
 if coerce(1, 1L) <> (1L, 1L): raise TestFailed, 'coerce(1, 1L)'
 if fcmp(coerce(1L, 1.1), (1.0, 1.1)): raise TestFailed, 'coerce(1L, 1.1)'
 
+print 'compile'
+compile('print 1\n', '', 'exec')
+
+print 'delattr'
+import sys
+sys.spam = 1
+delattr(sys, 'spam')
+
 print 'dir'
 x = 1
 if 'x' not in dir(): raise TestFailed, 'dir()'
@@ -123,12 +146,33 @@ print 'getattr'
 import sys
 if getattr(sys, 'stdout') is not sys.stdout: raise TestFailed, 'getattr'
 
+print 'hasattr'
+import sys
+if not hasattr(sys, 'stdout'): raise TestFailed, 'hasattr'
+
+print 'hash'
+hash(None)
+if not hash(1) == hash(1L) == hash(1.0): raise TestFailed, 'numeric hash()'
+hash('spam')
+hash((0,1,2,3))
+def f(): pass
+
 print 'hex'
 if hex(16) != '0x10': raise TestFailed, 'hex(16)'
 if hex(16L) != '0x10L': raise TestFailed, 'hex(16L)'
 if hex(-16) != '-0x10': raise TestFailed, 'hex(-16)'
 if hex(-16L) != '-0x10L': raise TestFailed, 'hex(-16L)'
 
+print 'id'
+id(None)
+id(1)
+id(1L)
+id(1.0)
+id('spam')
+id((0,1,2,3))
+id([0,1,2,3])
+id({'spam': 1, 'eggs': 2, 'ham': 3})
+
 # Test input() later, together with raw_input
 
 print 'int'
index 10c0bfb677deedaf3fbc6f5e4efe9b70d3a1f797..aacb4035cc097c74ee637892c7d11c8d4c37ef91 100644 (file)
@@ -86,6 +86,12 @@ if fcmp(pow(2.,30), 1024.*1024.*1024.): raise TestFailed, 'pow(2.,30)'
 #if fcmp(pow(-2.,1), -2.): raise TestFailed, 'pow(-2.,1)'
 #if fcmp(pow(-2.,2), 4.): raise TestFailed, 'pow(-2.,2)'
 #if fcmp(pow(-2.,3), -8.): raise TestFailed, 'pow(-2.,3)'
+#
+for x in 2, 2L, 2.0:
+       for y in 10, 10L, 10.0:
+               for z in 1000, 1000L, 1000.0:
+                       if fcmp(pow(x, y, z), 24.0):
+                               raise TestFailed, 'pow(%s, %s, %s)' % (x, y, z)
 
 print 'range'
 if range(3) <> [0, 1, 2]: raise TestFailed, 'range(3)'
@@ -142,8 +148,14 @@ if reduce(lambda x, y: x+y, Squares(0), 0) != 0:
 
 
 print 'reload'
+#import strop
+#reload(strop)
 import string
 reload(string)
+import sys
+try: reload(sys)
+except ImportError: pass
+else: raise TestFailed, 'reload(sys) should fail'
 
 print 'repr'
 if repr('') <> '\'\'': raise TestFailed, 'repr(\'\')'
@@ -190,8 +202,8 @@ if round(-999999999.9) <> -1000000000.0:
 
 print 'setattr'
 import sys
-setattr(sys, 'foobar', 1)
-if sys.foobar != 1: raise TestFailed, 'setattr(sys, \'foobar\', 1)'
+setattr(sys, 'spam', 1)
+if sys.spam != 1: raise TestFailed, 'setattr(sys, \'spam\', 1)'
 
 print 'str'
 if str('') <> '': raise TestFailed, 'str(\'\')'
@@ -201,10 +213,38 @@ if str(()) <> '()': raise TestFailed, 'str(())'
 if str([]) <> '[]': raise TestFailed, 'str([])'
 if str({}) <> '{}': raise TestFailed, 'str({})'
 
+print 'tuple'
+if tuple(()) <> (): raise TestFailed, 'tuple(())'
+if tuple((0, 1, 2, 3)) <> (0, 1, 2, 3): raise TestFailed, 'tuple((0, 1, 2, 3))'
+if tuple([]) <> (): raise TestFailed, 'tuple([])'
+if tuple([0, 1, 2, 3]) <> (0, 1, 2, 3): raise TestFailed, 'tuple([0, 1, 2, 3])'
+if tuple('') <> (): raise TestFailed, 'tuple('')'
+if tuple('spam') <> ('s', 'p', 'a', 'm'): raise TestFailed, "tuple('spam')"
+
 print 'type'
 if type('') <> type('123') or type('') == type(()):
        raise TestFailed, 'type()'
 
+print 'vars'
+a = b = None
+a = vars().keys()
+b = dir()
+a.sort()
+b.sort()
+if a <> b: raise TestFailed, 'vars()'
+import sys
+a = vars(sys).keys()
+b = dir(sys)
+a.sort()
+b.sort()
+if a <> b: raise TestFailed, 'vars(sys)'
+
+print 'xrange'
+if tuple(xrange(10)) <> tuple(range(10)): raise TestFailed, 'xrange(10)'
+if tuple(xrange(5,10)) <> tuple(range(5,10)): raise TestFailed, 'xrange(5,10)'
+if tuple(xrange(0,10,2)) <> tuple(range(0,10,2)):
+       raise TestFailed, 'xrange(0,10,2)'
+
 
 # Epilogue -- unlink the temp file
 
index b9215128f940d4b560b38eb2aa7949bd13d73643..38586372d1b40a6acf60e3c13ea91a88c4159da2 100644 (file)
@@ -56,9 +56,12 @@ test_builtin
 test_b1
 abs
 apply
+callable
 chr
 cmp
 coerce
+compile
+delattr
 dir
 divmod
 eval
@@ -66,7 +69,10 @@ execfile
 filter
 float
 getattr
+hasattr
+hash
 hex
+id
 int
 len
 long
@@ -88,7 +94,10 @@ repr
 round
 setattr
 str
+tuple
 type
+vars
+xrange
 test_exceptions
 5. Built-in exceptions
 AttributeError