summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_hash.py30
1 files changed, 19 insertions, 11 deletions
diff --git a/Lib/test/test_hash.py b/Lib/test/test_hash.py
index d5ac026..befde74 100644
--- a/Lib/test/test_hash.py
+++ b/Lib/test/test_hash.py
@@ -3,21 +3,29 @@
#
import test_support
+import unittest
-def same_hash(*objlist):
- # hash each object given an raise TestFailed if
- # the hash values are not all the same
- hashed = map(hash, objlist)
- for h in hashed[1:]:
- if h != hashed[0]:
- raise TestFailed, "hashed values differ: %s" % `objlist`
+class HashEqualityTestCase(unittest.TestCase):
+ def same_hash(self, *objlist):
+ # hash each object given an raise TestFailed 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)
-same_hash(1, 1L, 1.0, 1.0+0.0j)
-same_hash(int(1), long(1), float(1), complex(1))
+ def test_coerced_integers(self):
+ self.same_hash(int(1), long(1), float(1), complex(1),
+ int('1'), float('1.0'))
-same_hash(long(1.23e300), float(1.23e300))
+ 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))
-same_hash(float(0.5), complex(0.5, 0.0))
+
+test_support.run_unittest(HashEqualityTestCase)