[Python-3000-checkins] r57433 - python/branches/py3k/Lib/test/test_dict.py

guido.van.rossum python-3000-checkins at python.org
Sat Aug 25 01:43:52 CEST 2007


Author: guido.van.rossum
Date: Sat Aug 25 01:43:52 2007
New Revision: 57433

Modified:
   python/branches/py3k/Lib/test/test_dict.py
Log:
Add unit tests for set ops on dict.items().


Modified: python/branches/py3k/Lib/test/test_dict.py
==============================================================================
--- python/branches/py3k/Lib/test/test_dict.py	(original)
+++ python/branches/py3k/Lib/test/test_dict.py	Sat Aug 25 01:43:52 2007
@@ -458,7 +458,7 @@
         self.assertRaises(RuntimeError, lambda: d2.items() < d3.items())
         self.assertRaises(RuntimeError, lambda: d3.items() > d2.items())
 
-    def test_dictview_set_operations(self):
+    def test_dictview_set_operations_on_keys(self):
         k1 = {1:1, 2:2}.keys()
         k2 = {1:1, 2:2, 3:3}.keys()
         k3 = {4:4}.keys()
@@ -473,7 +473,20 @@
         self.assertEquals(k1 ^ k2, {3})
         self.assertEquals(k1 ^ k3, {1,2,4})
 
-        # XXX similar tests for .items()
+    def test_dictview_set_operations_on_items(self):
+        k1 = {1:1, 2:2}.items()
+        k2 = {1:1, 2:2, 3:3}.items()
+        k3 = {4:4}.items()
+
+        self.assertEquals(k1 - k2, set())
+        self.assertEquals(k1 - k3, {(1,1), (2,2)})
+        self.assertEquals(k2 - k1, {(3,3)})
+        self.assertEquals(k3 - k1, {(4,4)})
+        self.assertEquals(k1 & k2, {(1,1), (2,2)})
+        self.assertEquals(k1 & k3, set())
+        self.assertEquals(k1 | k2, {(1,1), (2,2), (3,3)})
+        self.assertEquals(k1 ^ k2, {(3,3)})
+        self.assertEquals(k1 ^ k3, {(1,1), (2,2), (4,4)})
 
     def test_missing(self):
         # Make sure dict doesn't have a __missing__ method


More information about the Python-3000-checkins mailing list