Skip to content

Commit 6c5994a

Browse files
committed
Test NaNs properly
1 parent 0d519f4 commit 6c5994a

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Lib/test/test_float.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,30 +1114,40 @@ def test_nan_from_str(self):
11141114
self.assertTrue(isnan(float("nan")))
11151115
self.assertTrue(isnan(float("+nan")))
11161116
self.assertTrue(isnan(float("-nan")))
1117+
self.assertTrue(isnan(float("\N{MINUS SIGN}nan")))
11171118

11181119
self.assertEqual(repr(float("nan")), "nan")
11191120
self.assertEqual(repr(float("+nan")), "nan")
11201121
self.assertEqual(repr(float("-nan")), "nan")
1122+
self.assertEqual(repr(float("\N{MINUS SIGN}nan")), "nan")
11211123

11221124
self.assertEqual(repr(float("NAN")), "nan")
11231125
self.assertEqual(repr(float("+NAn")), "nan")
11241126
self.assertEqual(repr(float("-NaN")), "nan")
1127+
self.assertEqual(repr(float("\N{MINUS SIGN}NaN")), "nan")
11251128

11261129
self.assertEqual(str(float("nan")), "nan")
11271130
self.assertEqual(str(float("+nan")), "nan")
11281131
self.assertEqual(str(float("-nan")), "nan")
1132+
self.assertEqual(str(float("\N{MINUS SIGN}nan")), "nan")
11291133

11301134
self.assertRaises(ValueError, float, "nana")
11311135
self.assertRaises(ValueError, float, "+nana")
11321136
self.assertRaises(ValueError, float, "-nana")
1137+
self.assertRaises(ValueError, float, "\N{MINUS SIGN}nana")
11331138
self.assertRaises(ValueError, float, "na")
11341139
self.assertRaises(ValueError, float, "+na")
11351140
self.assertRaises(ValueError, float, "-na")
1141+
self.assertRaises(ValueError, float, "\N{MINUS SIGN}na")
11361142

11371143
self.assertRaises(ValueError, float, "++nan")
11381144
self.assertRaises(ValueError, float, "-+NAN")
11391145
self.assertRaises(ValueError, float, "+-NaN")
11401146
self.assertRaises(ValueError, float, "--nAn")
1147+
self.assertRaises(ValueError, float, "\N{MINUS SIGN}+NAN")
1148+
self.assertRaises(ValueError, float, "-\N{MINUS SIGN}nAn")
1149+
self.assertRaises(ValueError, float, "\N{MINUS SIGN}-nAn")
1150+
self.assertRaises(ValueError, float, "\N{MINUS SIGN}\N{MINUS SIGN}nAn")
11411151

11421152
def test_nan_as_str(self):
11431153
self.assertEqual(repr(1e300 * 1e300 * 0), "nan")
@@ -1149,11 +1159,13 @@ def test_nan_as_str(self):
11491159
def test_inf_signs(self):
11501160
self.assertEqual(copysign(1.0, float('inf')), 1.0)
11511161
self.assertEqual(copysign(1.0, float('-inf')), -1.0)
1162+
self.assertEqual(copysign(1.0, float('\N{MINUS SIGN}inf')), -1.0)
11521163

11531164
def test_nan_signs(self):
11541165
# The sign of float('nan') should be predictable.
11551166
self.assertEqual(copysign(1.0, float('nan')), 1.0)
11561167
self.assertEqual(copysign(1.0, float('-nan')), -1.0)
1168+
self.assertEqual(copysign(1.0, float('\N{MINUS SIGN}nan')), -1.0)
11571169

11581170

11591171
fromHex = float.fromhex

0 commit comments

Comments
 (0)