home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2005 June
/
PCWorld_2005-06_cd.bin
/
software
/
vyzkuste
/
firewally
/
firewally.exe
/
framework-2.3.exe
/
test_hash.py
< prev
next >
Wrap
Text File
|
2003-12-30
|
942b
|
37 lines
# test the invariant that
# iff a==b then hash(a)==hash(b)
#
import unittest
from test import test_support
class HashEqualityTestCase(unittest.TestCase):
def same_hash(self, *objlist):
# Hash each object given and fail if
# the hash values are not all the same.
hashed = map(hash, objlist)
for h in hashed[1:]:
if h != hashed[0]:
self.fail("hashed values differ: %s" % `objlist`)
def test_numeric_literals(self):
self.same_hash(1, 1L, 1.0, 1.0+0.0j)
def test_coerced_integers(self):
self.same_hash(int(1), long(1), float(1), complex(1),
int('1'), float('1.0'))
def test_coerced_floats(self):
self.same_hash(long(1.23e300), float(1.23e300))
self.same_hash(float(0.5), complex(0.5, 0.0))
def test_main():
test_support.run_unittest(HashEqualityTestCase)
if __name__ == "__main__":
test_main()