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

Method test_discard

Lib/test/test_capi/test_set.py:175–195  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

173 self.assertRaises(SystemError, add, frozen_set, 1)
174
175 def test_discard(self):
176 discard = _testlimitedcapi.set_discard
177 for cls in (set, set_subclass):
178 with self.subTest(cls=cls):
179 instance = cls((1, 2))
180 self.assertEqual(discard(instance, 3), 0)
181 self.assertEqual(instance, {1, 2})
182 self.assertEqual(discard(instance, 1), 1)
183 self.assertEqual(instance, {2})
184 self.assertEqual(discard(instance, 2), 1)
185 self.assertEqual(instance, set())
186 self.assertEqual(discard(instance, 2), 0)
187 self.assertEqual(instance, set())
188 with self.assertRaisesRegex(TypeError, "unhashable type: 'list'"):
189 discard(instance, [])
190 with self.assertRaises(SystemError):
191 discard(object(), 1)
192 self.assertImmutable(discard, 1)
193 # CRASHES: discard(NULL, object())
194 # CRASHES: discard(instance, NULL)
195 # CRASHES: discard(NULL, NULL)
196
197 def test_pop(self):
198 pop = _testlimitedcapi.set_pop

Callers

nothing calls this directly

Calls 7

setFunction · 0.85
assertRaisesRegexMethod · 0.80
assertImmutableMethod · 0.80
clsClass · 0.50
subTestMethod · 0.45
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected