From 947ff3872520c5a05f3fcf4131d551347c9e546f Mon Sep 17 00:00:00 2001 From: R David Murray Date: Thu, 2 Jun 2016 15:46:04 -0400 Subject: [PATCH] #20973: add total ordering tests for ipaddress Patch by Tommy Beadle. --- Lib/test/test_ipaddress.py | 33 +++++++++++++++++++++++++++++++++ Misc/ACKS | 1 + 2 files changed, 34 insertions(+) diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py index 643d742e4cc..3edea08de4b 100644 --- a/Lib/test/test_ipaddress.py +++ b/Lib/test/test_ipaddress.py @@ -587,8 +587,16 @@ class ComparisonTests(unittest.TestCase): v4_objects = v4_addresses + [v4net] v6_addresses = [v6addr, v6intf] v6_objects = v6_addresses + [v6net] + 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): # __eq__ should never raise TypeError directly other = object() @@ -607,6 +615,31 @@ class ComparisonTests(unittest.TestCase): continue 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): for obj in self.v4_addresses: self.assertIn(obj, self.v4net) diff --git a/Misc/ACKS b/Misc/ACKS index 5d20298f95e..6193dd14c84 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -102,6 +102,7 @@ Michael R Bax Anthony Baxter Mike Bayer Samuel L. Bayer +Tommy Beadle Donald Beaudry David Beazley John Beck