MCPcopy Create free account
hub / github.com/apache/arrow / _table_like_slice_tests

Function _table_like_slice_tests

python/pyarrow/tests/test_table.py:1319–1353  ·  view source on GitHub ↗
(factory)

Source from the content-addressed store, hash-verified

1317
1318
1319def _table_like_slice_tests(factory):
1320 data = [
1321 pa.array(range(5)),
1322 pa.array([-10, -5, 0, 5, 10])
1323 ]
1324 names = ['c0', 'c1']
1325
1326 obj = factory(data, names=names)
1327
1328 sliced = obj.slice(2)
1329 assert sliced.num_rows == 3
1330
1331 expected = factory([x.slice(2) for x in data], names=names)
1332 assert sliced.equals(expected)
1333
1334 sliced2 = obj.slice(2, 2)
1335 expected2 = factory([x.slice(2, 2) for x in data], names=names)
1336 assert sliced2.equals(expected2)
1337
1338 # 0 offset
1339 assert obj.slice(0).equals(obj)
1340
1341 # Slice past end of array
1342 assert len(obj.slice(len(obj))) == 0
1343
1344 with pytest.raises(IndexError):
1345 obj.slice(-1)
1346
1347 # Check __getitem__-based slicing
1348 assert obj.slice(0, 0).equals(obj[:0])
1349 assert obj.slice(0, 2).equals(obj[:2])
1350 assert obj.slice(2, 2).equals(obj[2:4])
1351 assert obj.slice(2, len(obj) - 2).equals(obj[2:])
1352 assert obj.slice(len(obj) - 2, 2).equals(obj[-2:])
1353 assert obj.slice(len(obj) - 4, 2).equals(obj[-4:-2])
1354
1355
1356def test_recordbatch_slice_getitem():

Callers 2

test_table_slice_getitemFunction · 0.85

Calls 5

factoryFunction · 0.85
lenFunction · 0.85
equalsMethod · 0.80
arrayMethod · 0.45
sliceMethod · 0.45

Tested by

no test coverage detected