1 # test the invariant that
2 # iff a==b then hash(a)==hash(b)
6 from test
import test_support
9 class HashEqualityTestCase(unittest
.TestCase
):
11 def same_hash(self
, *objlist
):
12 # Hash each object given and fail if
13 # the hash values are not all the same.
14 hashed
= map(hash, objlist
)
17 self
.fail("hashed values differ: %s" % `objlist`
)
19 def test_numeric_literals(self
):
20 self
.same_hash(1, 1L, 1.0, 1.0+0.0j
)
22 def test_coerced_integers(self
):
23 self
.same_hash(int(1), long(1), float(1), complex(1),
24 int('1'), float('1.0'))
26 def test_coerced_floats(self
):
27 self
.same_hash(long(1.23e300
), float(1.23e300
))
28 self
.same_hash(float(0.5), complex(0.5, 0.0))
32 test_support
.run_unittest(HashEqualityTestCase
)
35 if __name__
== "__main__":