mirror of
https://github.com/python/cpython.git
synced 2025-10-10 00:43:41 +00:00
bpo-37685: Fixed __eq__, __lt__ etc implementations in some classes. (GH-14952)
They now return NotImplemented for unsupported type of the other operand.
This commit is contained in:
parent
4c69be22df
commit
662db125cd
23 changed files with 1295 additions and 1150 deletions
|
@ -15,6 +15,7 @@ import re
|
|||
import io
|
||||
import contextlib
|
||||
from test import support
|
||||
from test.support import ALWAYS_EQ, LARGEST, SMALLEST
|
||||
|
||||
try:
|
||||
import gzip
|
||||
|
@ -530,14 +531,10 @@ class DateTimeTestCase(unittest.TestCase):
|
|||
# some other types
|
||||
dbytes = dstr.encode('ascii')
|
||||
dtuple = now.timetuple()
|
||||
with self.assertRaises(TypeError):
|
||||
dtime == 1970
|
||||
with self.assertRaises(TypeError):
|
||||
dtime != dbytes
|
||||
with self.assertRaises(TypeError):
|
||||
dtime == bytearray(dbytes)
|
||||
with self.assertRaises(TypeError):
|
||||
dtime != dtuple
|
||||
self.assertFalse(dtime == 1970)
|
||||
self.assertTrue(dtime != dbytes)
|
||||
self.assertFalse(dtime == bytearray(dbytes))
|
||||
self.assertTrue(dtime != dtuple)
|
||||
with self.assertRaises(TypeError):
|
||||
dtime < float(1970)
|
||||
with self.assertRaises(TypeError):
|
||||
|
@ -547,6 +544,18 @@ class DateTimeTestCase(unittest.TestCase):
|
|||
with self.assertRaises(TypeError):
|
||||
dtime >= dtuple
|
||||
|
||||
self.assertTrue(dtime == ALWAYS_EQ)
|
||||
self.assertFalse(dtime != ALWAYS_EQ)
|
||||
self.assertTrue(dtime < LARGEST)
|
||||
self.assertFalse(dtime > LARGEST)
|
||||
self.assertTrue(dtime <= LARGEST)
|
||||
self.assertFalse(dtime >= LARGEST)
|
||||
self.assertFalse(dtime < SMALLEST)
|
||||
self.assertTrue(dtime > SMALLEST)
|
||||
self.assertFalse(dtime <= SMALLEST)
|
||||
self.assertTrue(dtime >= SMALLEST)
|
||||
|
||||
|
||||
class BinaryTestCase(unittest.TestCase):
|
||||
|
||||
# XXX What should str(Binary(b"\xff")) return? I'm chosing "\xff"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue