]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-96408: Test set operation on items dict view. (GH-96438)
authorFilip Łajszczak <filip.lajszczak@gmail.com>
Tue, 30 Aug 2022 22:43:23 +0000 (22:43 +0000)
committerGitHub <noreply@github.com>
Tue, 30 Aug 2022 22:43:23 +0000 (17:43 -0500)
Lib/test/test_dictviews.py

index be271bebaaf1fffe1d955f4cfa817b2af650c795..7c48d800cd88bdf7f8e909a4886dac4d3055b0d5 100644 (file)
@@ -170,6 +170,10 @@ class DictSetTest(unittest.TestCase):
                          {('a', 1), ('b', 2)})
         self.assertEqual(d1.items() & set(d2.items()), {('b', 2)})
         self.assertEqual(d1.items() & set(d3.items()), set())
+        self.assertEqual(d1.items() & (("a", 1), ("b", 2)),
+                         {('a', 1), ('b', 2)})
+        self.assertEqual(d1.items() & (("a", 2), ("b", 2)), {('b', 2)})
+        self.assertEqual(d1.items() & (("d", 4), ("e", 5)), set())
 
         self.assertEqual(d1.items() | d1.items(),
                          {('a', 1), ('b', 2)})
@@ -183,12 +187,23 @@ class DictSetTest(unittest.TestCase):
                          {('a', 1), ('a', 2), ('b', 2)})
         self.assertEqual(d1.items() | set(d3.items()),
                          {('a', 1), ('b', 2), ('d', 4), ('e', 5)})
+        self.assertEqual(d1.items() | (('a', 1), ('b', 2)),
+                         {('a', 1), ('b', 2)})
+        self.assertEqual(d1.items() | (('a', 2), ('b', 2)),
+                         {('a', 1), ('a', 2), ('b', 2)})
+        self.assertEqual(d1.items() | (('d', 4), ('e', 5)),
+                         {('a', 1), ('b', 2), ('d', 4), ('e', 5)})
 
         self.assertEqual(d1.items() ^ d1.items(), set())
         self.assertEqual(d1.items() ^ d2.items(),
                          {('a', 1), ('a', 2)})
         self.assertEqual(d1.items() ^ d3.items(),
                          {('a', 1), ('b', 2), ('d', 4), ('e', 5)})
+        self.assertEqual(d1.items() ^ (('a', 1), ('b', 2)), set())
+        self.assertEqual(d1.items() ^ (("a", 2), ("b", 2)),
+                         {('a', 1), ('a', 2)})
+        self.assertEqual(d1.items() ^ (("d", 4), ("e", 5)),
+                         {('a', 1), ('b', 2), ('d', 4), ('e', 5)})
 
         self.assertEqual(d1.items() - d1.items(), set())
         self.assertEqual(d1.items() - d2.items(), {('a', 1)})
@@ -196,6 +211,9 @@ class DictSetTest(unittest.TestCase):
         self.assertEqual(d1.items() - set(d1.items()), set())
         self.assertEqual(d1.items() - set(d2.items()), {('a', 1)})
         self.assertEqual(d1.items() - set(d3.items()), {('a', 1), ('b', 2)})
+        self.assertEqual(d1.items() - (('a', 1), ('b', 2)), set())
+        self.assertEqual(d1.items() - (("a", 2), ("b", 2)), {('a', 1)})
+        self.assertEqual(d1.items() - (("d", 4), ("e", 5)), {('a', 1), ('b', 2)})
 
         self.assertFalse(d1.items().isdisjoint(d1.items()))
         self.assertFalse(d1.items().isdisjoint(d2.items()))