MCPcopy Index your code
hub / github.com/python/cpython / test_keys_set_operations

Method test_keys_set_operations

Lib/test/test_dictviews.py:91–159  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

89 r == "dict_values([10, 'ABC'])")
90
91 def test_keys_set_operations(self):
92 d1 = {'a': 1, 'b': 2}
93 d2 = {'b': 3, 'c': 2}
94 d3 = {'d': 4, 'e': 5}
95 d4 = {'d': 4}
96
97 class CustomSet(set):
98 def intersection(self, other):
99 return CustomSet(super().intersection(other))
100
101 self.assertEqual(d1.keys() & d1.keys(), {'a', 'b'})
102 self.assertEqual(d1.keys() & d2.keys(), {'b'})
103 self.assertEqual(d1.keys() & d3.keys(), set())
104 self.assertEqual(d1.keys() & set(d1.keys()), {'a', 'b'})
105 self.assertEqual(d1.keys() & set(d2.keys()), {'b'})
106 self.assertEqual(d1.keys() & set(d3.keys()), set())
107 self.assertEqual(d1.keys() & tuple(d1.keys()), {'a', 'b'})
108 self.assertEqual(d3.keys() & d4.keys(), {'d'})
109 self.assertEqual(d4.keys() & d3.keys(), {'d'})
110 self.assertEqual(d4.keys() & set(d3.keys()), {'d'})
111 self.assertIsInstance(d4.keys() & frozenset(d3.keys()), set)
112 self.assertIsInstance(frozenset(d3.keys()) & d4.keys(), set)
113 self.assertIs(type(d4.keys() & CustomSet(d3.keys())), set)
114 self.assertIs(type(d1.keys() & []), set)
115 self.assertIs(type([] & d1.keys()), set)
116
117 self.assertEqual(d1.keys() | d1.keys(), {'a', 'b'})
118 self.assertEqual(d1.keys() | d2.keys(), {'a', 'b', 'c'})
119 self.assertEqual(d1.keys() | d3.keys(), {'a', 'b', 'd', 'e'})
120 self.assertEqual(d1.keys() | set(d1.keys()), {'a', 'b'})
121 self.assertEqual(d1.keys() | set(d2.keys()), {'a', 'b', 'c'})
122 self.assertEqual(d1.keys() | set(d3.keys()),
123 {'a', 'b', 'd', 'e'})
124 self.assertEqual(d1.keys() | (1, 2), {'a', 'b', 1, 2})
125
126 self.assertEqual(d1.keys() ^ d1.keys(), set())
127 self.assertEqual(d1.keys() ^ d2.keys(), {'a', 'c'})
128 self.assertEqual(d1.keys() ^ d3.keys(), {'a', 'b', 'd', 'e'})
129 self.assertEqual(d1.keys() ^ set(d1.keys()), set())
130 self.assertEqual(d1.keys() ^ set(d2.keys()), {'a', 'c'})
131 self.assertEqual(d1.keys() ^ set(d3.keys()),
132 {'a', 'b', 'd', 'e'})
133 self.assertEqual(d1.keys() ^ tuple(d2.keys()), {'a', 'c'})
134
135 self.assertEqual(d1.keys() - d1.keys(), set())
136 self.assertEqual(d1.keys() - d2.keys(), {'a'})
137 self.assertEqual(d1.keys() - d3.keys(), {'a', 'b'})
138 self.assertEqual(d1.keys() - set(d1.keys()), set())
139 self.assertEqual(d1.keys() - set(d2.keys()), {'a'})
140 self.assertEqual(d1.keys() - set(d3.keys()), {'a', 'b'})
141 self.assertEqual(d1.keys() - (0, 1), {'a', 'b'})
142
143 self.assertFalse(d1.keys().isdisjoint(d1.keys()))
144 self.assertFalse(d1.keys().isdisjoint(d2.keys()))
145 self.assertFalse(d1.keys().isdisjoint(list(d2.keys())))
146 self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
147 self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
148 self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))

Callers

nothing calls this directly

Calls 10

setFunction · 0.85
CustomSetClass · 0.85
listClass · 0.85
assertIsInstanceMethod · 0.80
assertFalseMethod · 0.80
assertTrueMethod · 0.80
assertEqualMethod · 0.45
keysMethod · 0.45
assertIsMethod · 0.45
isdisjointMethod · 0.45

Tested by

no test coverage detected