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
2.1 try inside for loop
2.2 raise class exceptions
2.3 comparing function objects

View File

@ -57,3 +57,38 @@ except AClass, v:
try: raise BClass, a
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