Add test for function comparisons

This commit is contained in:
Guido van Rossum 1997-08-05 16:52:50 +00:00
parent 83f9ad8399
commit 570278be6e
2 changed files with 36 additions and 0 deletions

View File

@ -3,3 +3,4 @@ test_opcodes
XXX Not yet fully implemented XXX Not yet fully implemented
2.1 try inside for loop 2.1 try inside for loop
2.2 raise class exceptions 2.2 raise class exceptions
2.3 comparing function objects

View File

@ -57,3 +57,38 @@ except AClass, v:
try: raise BClass, a try: raise BClass, a
except TypeError: pass except TypeError: pass
print '2.3 comparing function objects'
f = eval('lambda: None')
g = eval('lambda: None')
if f != g: raise TestFailed
f = eval('lambda a: a')
g = eval('lambda a: a')
if f != g: raise TestFailed
f = eval('lambda a=1: a')
g = eval('lambda a=1: a')
if f != g: raise TestFailed
f = eval('lambda: 0')
g = eval('lambda: 1')
if f == g: raise TestFailed
f = eval('lambda: None')
g = eval('lambda a: None')
if f == g: raise TestFailed
f = eval('lambda a: None')
g = eval('lambda b: None')
if f == g: raise TestFailed
f = eval('lambda a: None')
g = eval('lambda a=None: None')
if f == g: raise TestFailed
f = eval('lambda a=0: None')
g = eval('lambda a=1: None')
if f == g: raise TestFailed