(self)
| 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 |
nothing calls this directly
no test coverage detected