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

Method test_tuple_getslice

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

Source from the content-addressed store, hash-verified

214 # CRASHES get_item(NULL, 0)
215
216 def test_tuple_getslice(self):
217 # Test PyTuple_GetSlice()
218 getslice = _testlimitedcapi.tuple_getslice
219
220 # empty
221 tup = ([1], [2], [3])
222 self.assertEqual(getslice(tup, PY_SSIZE_T_MIN, 0), ())
223 self.assertEqual(getslice(tup, -1, 0), ())
224 self.assertEqual(getslice(tup, 3, PY_SSIZE_T_MAX), ())
225 self.assertEqual(getslice(tup, 1, 1), ())
226 self.assertEqual(getslice(tup, 2, 1), ())
227 tup = TupleSubclass(([1], [2], [3]))
228 self.assertEqual(getslice(tup, PY_SSIZE_T_MIN, 0), ())
229 self.assertEqual(getslice(tup, -1, 0), ())
230 self.assertEqual(getslice(tup, 3, PY_SSIZE_T_MAX), ())
231 self.assertEqual(getslice(tup, 1, 1), ())
232 self.assertEqual(getslice(tup, 2, 1), ())
233
234 # slice
235 tup = ([1], [2], [3], [4])
236 self.assertEqual(getslice(tup, 1, 3), ([2], [3]))
237 tup = TupleSubclass(([1], [2], [3], [4]))
238 self.assertEqual(getslice(tup, 1, 3), ([2], [3]))
239
240 # whole
241 tup = ([1], [2], [3])
242 self.assertEqual(getslice(tup, 0, 3), tup)
243 self.assertEqual(getslice(tup, 0, 100), tup)
244 self.assertEqual(getslice(tup, -100, 100), tup)
245 tup = TupleSubclass(([1], [2], [3]))
246 self.assertEqual(getslice(tup, 0, 3), tup)
247 self.assertEqual(getslice(tup, 0, 100), tup)
248 self.assertEqual(getslice(tup, -100, 100), tup)
249
250 self.assertRaises(SystemError, getslice, [[1], [2], [3]], 0, 0)
251 self.assertRaises(SystemError, getslice, 42, 0, 0)
252
253 # CRASHES getslice(NULL, 0, 0)
254
255 def test_tuple_setitem(self):
256 # Test PyTuple_SetItem()

Callers

nothing calls this directly

Calls 3

TupleSubclassClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected