Commit 947ff387 authored by R David Murray's avatar R David Murray

#20973: add total ordering tests for ipaddress

Patch by Tommy Beadle.
parent f5854148
...@@ -587,8 +587,16 @@ class ComparisonTests(unittest.TestCase): ...@@ -587,8 +587,16 @@ class ComparisonTests(unittest.TestCase):
v4_objects = v4_addresses + [v4net] v4_objects = v4_addresses + [v4net]
v6_addresses = [v6addr, v6intf] v6_addresses = [v6addr, v6intf]
v6_objects = v6_addresses + [v6net] v6_objects = v6_addresses + [v6net]
objects = v4_objects + v6_objects objects = v4_objects + v6_objects
v4addr2 = ipaddress.IPv4Address(2)
v4net2 = ipaddress.IPv4Network(2)
v4intf2 = ipaddress.IPv4Interface(2)
v6addr2 = ipaddress.IPv6Address(2)
v6net2 = ipaddress.IPv6Network(2)
v6intf2 = ipaddress.IPv6Interface(2)
def test_foreign_type_equality(self): def test_foreign_type_equality(self):
# __eq__ should never raise TypeError directly # __eq__ should never raise TypeError directly
other = object() other = object()
...@@ -607,6 +615,31 @@ class ComparisonTests(unittest.TestCase): ...@@ -607,6 +615,31 @@ class ComparisonTests(unittest.TestCase):
continue continue
self.assertNotEqual(lhs, rhs) self.assertNotEqual(lhs, rhs)
def test_same_type_equality(self):
for obj in self.objects:
self.assertEqual(obj, obj)
self.assertLessEqual(obj, obj)
self.assertGreaterEqual(obj, obj)
def test_same_type_ordering(self):
for lhs, rhs in (
(self.v4addr, self.v4addr2),
(self.v4net, self.v4net2),
(self.v4intf, self.v4intf2),
(self.v6addr, self.v6addr2),
(self.v6net, self.v6net2),
(self.v6intf, self.v6intf2),
):
self.assertNotEqual(lhs, rhs)
self.assertLess(lhs, rhs)
self.assertLessEqual(lhs, rhs)
self.assertGreater(rhs, lhs)
self.assertGreaterEqual(rhs, lhs)
self.assertFalse(lhs > rhs)
self.assertFalse(rhs < lhs)
self.assertFalse(lhs >= rhs)
self.assertFalse(rhs <= lhs)
def test_containment(self): def test_containment(self):
for obj in self.v4_addresses: for obj in self.v4_addresses:
self.assertIn(obj, self.v4net) self.assertIn(obj, self.v4net)
......
...@@ -102,6 +102,7 @@ Michael R Bax ...@@ -102,6 +102,7 @@ Michael R Bax
Anthony Baxter Anthony Baxter
Mike Bayer Mike Bayer
Samuel L. Bayer Samuel L. Bayer
Tommy Beadle
Donald Beaudry Donald Beaudry
David Beazley David Beazley
John Beck John Beck
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment