[Python-checkins] cpython (3.5): #20973: add total ordering tests for ipaddress

r.david.murray python-checkins at python.org
Thu Jun 2 15:50:25 EDT 2016


https://hg.python.org/cpython/rev/ffaefb20dd06
changeset:   101613:ffaefb20dd06
branch:      3.5
parent:      101610:a0d2c07f8706
user:        R David Murray <rdmurray at bitdance.com>
date:        Thu Jun 02 15:46:04 2016 -0400
summary:
  #20973: add total ordering tests for ipaddress

Patch by Tommy Beadle.

files:
  Lib/test/test_ipaddress.py |  33 ++++++++++++++++++++++++++
  Misc/ACKS                  |   1 +
  2 files changed, 34 insertions(+), 0 deletions(-)


diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py
--- a/Lib/test/test_ipaddress.py
+++ b/Lib/test/test_ipaddress.py
@@ -587,8 +587,16 @@
     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 @@
                     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
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -102,6 +102,7 @@
 Anthony Baxter
 Mike Bayer
 Samuel L. Bayer
+Tommy Beadle
 Donald Beaudry
 David Beazley
 John Beck

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list