bpo-40889: Optimize dict.items() ^ dict.items() (GH-20718)
diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index 6b8596f..5c08810 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -697,6 +697,16 @@
self.assertEqual(k1 ^ k2, {(3,3)})
self.assertEqual(k1 ^ k3, {(1,1), (2,2), (4,4)})
+ def test_items_symmetric_difference(self):
+ rr = random.randrange
+ for _ in range(100):
+ left = {x:rr(3) for x in range(20) if rr(2)}
+ right = {x:rr(3) for x in range(20) if rr(2)}
+ with self.subTest(left=left, right=right):
+ expected = set(left.items()) ^ set(right.items())
+ actual = left.items() ^ right.items()
+ self.assertEqual(actual, expected)
+
def test_dictview_mixed_set_operations(self):
# Just a few for .keys()
self.assertTrue({1:1}.keys() == {1})