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

Method test_tuple_set_item

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

Source from the content-addressed store, hash-verified

277 # CRASHES setitem(NULL, 0, [])
278
279 def test_tuple_set_item(self):
280 # Test PyTuple_SET_ITEM()
281 set_item = _testcapi.tuple_set_item
282 checknull = _testcapi._check_tuple_item_is_NULL
283
284 tup = ([1], [2])
285 self.assertEqual(set_item(tup, 0, []), ([], [2]))
286 self.assertEqual(set_item(tup, 1, []), ([1], []))
287
288 tup2 = set_item(tup, 1, NULL)
289 self.assertTrue(checknull(tup2, 1))
290
291 tup2 = TupleSubclass(([1], [2]))
292 self.assertIs(set_item(tup2, 0, []), tup2)
293 self.assertEqual(tup2, ([], [2]))
294
295 # CRASHES set_item(tup, -1, [])
296 # CRASHES set_item(tup, len(tup), [])
297 # CRASHES set_item([1], 0, [])
298 # CRASHES set_item(NULL, 0, [])
299
300 def test__tuple_resize(self):
301 # Test _PyTuple_Resize()

Callers

nothing calls this directly

Calls 4

assertTrueMethod · 0.80
TupleSubclassClass · 0.70
assertEqualMethod · 0.45
assertIsMethod · 0.45

Tested by

no test coverage detected