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

Method test_tuple_setitem

Lib/test/test_capi/test_tuple.py:255–277  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

253 # CRASHES getslice(NULL, 0, 0)
254
255 def test_tuple_setitem(self):
256 # Test PyTuple_SetItem()
257 setitem = _testlimitedcapi.tuple_setitem
258 checknull = _testcapi._check_tuple_item_is_NULL
259
260 tup = ([1], [2])
261 self.assertEqual(setitem(tup, 0, []), ([], [2]))
262 self.assertEqual(setitem(tup, 1, []), ([1], []))
263
264 tup2 = setitem(tup, 1, NULL)
265 self.assertTrue(checknull(tup2, 1))
266
267 tup2 = TupleSubclass(([1], [2]))
268 self.assertRaises(SystemError, setitem, tup2, 0, [])
269
270 self.assertRaises(IndexError, setitem, tup, PY_SSIZE_T_MIN, [])
271 self.assertRaises(IndexError, setitem, tup, -1, [])
272 self.assertRaises(IndexError, setitem, tup, len(tup), [])
273 self.assertRaises(IndexError, setitem, tup, PY_SSIZE_T_MAX, [])
274 self.assertRaises(SystemError, setitem, [1], 0, [])
275 self.assertRaises(SystemError, setitem, 42, 0, [])
276
277 # CRASHES setitem(NULL, 0, [])
278
279 def test_tuple_set_item(self):
280 # Test PyTuple_SET_ITEM()

Callers

nothing calls this directly

Calls 5

setitemFunction · 0.85
assertTrueMethod · 0.80
TupleSubclassClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected