Skip to content

Commit 440a23a

Browse files
committed
compare uncomparable
1 parent 0813448 commit 440a23a

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

Lib/test/seq_tests.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,43 @@ def __eq__(self, other):
250250
checklast = self.type2test([StopCompares(), 1])
251251
self.assertRaises(DoNotTestEq, checklast.__contains__, 1)
252252

253+
def test_compare_nan(self):
254+
nan = float('nan')
255+
a = self.type2test([nan])
256+
b = self.type2test([nan])
257+
self.assertTrue(a == a)
258+
self.assertFalse(a != a)
259+
self.assertTrue(a == b)
260+
self.assertFalse(a != b)
261+
self.assertFalse(a < a)
262+
self.assertFalse(a < b)
263+
self.assertFalse(a > b)
264+
265+
def test_compare_decimal_nan(self):
266+
import decimal
267+
nan = decimal.Decimal("NaN")
268+
a = self.type2test([nan])
269+
b = self.type2test([nan])
270+
self.assertTrue(a == a)
271+
self.assertFalse(a != a)
272+
self.assertTrue(a == b)
273+
self.assertFalse(a != b)
274+
self.assertFalse(a < a)
275+
self.assertFalse(a < b)
276+
self.assertFalse(a > b)
277+
278+
def test_compare_signed_zero(self):
279+
a = self.type2test([0.0])
280+
b = self.type2test([-0.0])
281+
self.assertTrue(a == a)
282+
self.assertFalse(a != a)
283+
self.assertTrue(b == b)
284+
self.assertFalse(b != b)
285+
self.assertTrue(a == b)
286+
self.assertFalse(a != b)
287+
self.assertFalse(a > b)
288+
self.assertFalse(a < b)
289+
253290
def test_len(self):
254291
self.assertEqual(len(self.type2test()), 0)
255292
self.assertEqual(len(self.type2test([])), 0)

0 commit comments

Comments
 (0)