[Python-checkins] cpython (2.7): #18357: add tests for dictview set difference. Patch by Fraser Tweedale.

ezio.melotti python-checkins at python.org
Thu Aug 8 19:13:14 CEST 2013


http://hg.python.org/cpython/rev/0152152b09d0
changeset:   85072:0152152b09d0
branch:      2.7
parent:      85051:719ee60fc5e2
user:        Ezio Melotti <ezio.melotti at gmail.com>
date:        Thu Aug 08 20:09:19 2013 +0300
summary:
  #18357: add tests for dictview set difference.  Patch by Fraser Tweedale.

files:
  Lib/test/test_dictviews.py |  15 +++++++++++++++
  Misc/ACKS                  |   1 +
  Misc/NEWS                  |   3 +++
  3 files changed, 19 insertions(+), 0 deletions(-)


diff --git a/Lib/test/test_dictviews.py b/Lib/test/test_dictviews.py
--- a/Lib/test/test_dictviews.py
+++ b/Lib/test/test_dictviews.py
@@ -112,6 +112,13 @@
         self.assertEqual(d1.viewkeys() ^ set(d3.viewkeys()),
                          {'a', 'b', 'd', 'e'})
 
+        self.assertEqual(d1.viewkeys() - d1.viewkeys(), set())
+        self.assertEqual(d1.viewkeys() - d2.viewkeys(), {'a'})
+        self.assertEqual(d1.viewkeys() - d3.viewkeys(), {'a', 'b'})
+        self.assertEqual(d1.viewkeys() - set(d1.viewkeys()), set())
+        self.assertEqual(d1.viewkeys() - set(d2.viewkeys()), {'a'})
+        self.assertEqual(d1.viewkeys() - set(d3.viewkeys()), {'a', 'b'})
+
     def test_items_set_operations(self):
         d1 = {'a': 1, 'b': 2}
         d2 = {'a': 2, 'b': 2}
@@ -144,6 +151,14 @@
         self.assertEqual(d1.viewitems() ^ d3.viewitems(),
                          {('a', 1), ('b', 2), ('d', 4), ('e', 5)})
 
+        self.assertEqual(d1.viewitems() - d1.viewitems(), set())
+        self.assertEqual(d1.viewitems() - d2.viewitems(), {('a', 1)})
+        self.assertEqual(d1.viewitems() - d3.viewitems(), {('a', 1), ('b', 2)})
+        self.assertEqual(d1.viewitems() - set(d1.viewitems()), set())
+        self.assertEqual(d1.viewitems() - set(d2.viewitems()), {('a', 1)})
+        self.assertEqual(d1.viewitems() - set(d3.viewitems()),
+                         {('a', 1), ('b', 2)})
+
     def test_recursive_repr(self):
         d = {}
         d[42] = d.viewvalues()
diff --git a/Misc/ACKS b/Misc/ACKS
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1042,6 +1042,7 @@
 Stephen Turner
 Theodore Turocy
 Bill Tutt
+Fraser Tweedale
 Doobee R. Tzeck
 Eren Türkay
 Lionel Ulmer
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -142,6 +142,9 @@
 Tests
 -----
 
+- Issue #18357: add tests for dictview set difference.
+  Patch by Fraser Tweedale.
+
 - Issue #11185: Fix test_wait4 under AIX.  Patch by Sébastien Sablé.
 
 - Issue #18094: test_uuid no more reports skipped tests as passed.

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


More information about the Python-checkins mailing list