From 677fb3101525bc655d9fd548b8c2cecfc8deefd2 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 4 Apr 2017 12:14:34 +1000 Subject: [PATCH] tests/float: Add tests for hashing float and complex numbers. --- tests/float/builtin_float_hash.py | 22 ++++++++++++++++++++++ tests/float/complex1.py | 4 ++++ 2 files changed, 26 insertions(+) create mode 100644 tests/float/builtin_float_hash.py diff --git a/tests/float/builtin_float_hash.py b/tests/float/builtin_float_hash.py new file mode 100644 index 0000000000..ba6b639073 --- /dev/null +++ b/tests/float/builtin_float_hash.py @@ -0,0 +1,22 @@ +# test builtin hash function with float args + +# these should hash to an integer with a specific value +for val in ( + '0.0', + '1.0', + '2.0', + '-12.0', + '12345.0', + ): + print(val, hash(float(val))) + +# just check that these values are hashable +for val in ( + '0.1', + '-0.1', + '10.3', + 'inf', + '-inf', + 'nan', + ): + print(val, type(hash(float(val)))) diff --git a/tests/float/complex1.py b/tests/float/complex1.py index 8c8d285e1a..a6038de04a 100644 --- a/tests/float/complex1.py +++ b/tests/float/complex1.py @@ -41,6 +41,10 @@ print(1j == 1j) print(abs(1j)) print("%.5g" % abs(1j + 2)) +# builtin hash +print(hash(1 + 0j)) +print(type(hash(1j))) + # float on lhs should delegate to complex print(1.2 + 3j)