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

Function _table_like_slice_tests

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

Source from the content-addressed store, hash-verified

1270
1271
1272def _table_like_slice_tests(factory):
1273 data = [
1274 pa.array(range(5)),
1275 pa.array([-10, -5, 0, 5, 10])
1276 ]
1277 names = ['c0', 'c1']
1278
1279 obj = factory(data, names=names)
1280
1281 sliced = obj.slice(2)
1282 assert sliced.num_rows == 3
1283
1284 expected = factory([x.slice(2) for x in data], names=names)
1285 assert sliced.equals(expected)
1286
1287 sliced2 = obj.slice(2, 2)
1288 expected2 = factory([x.slice(2, 2) for x in data], names=names)
1289 assert sliced2.equals(expected2)
1290
1291 # 0 offset
1292 assert obj.slice(0).equals(obj)
1293
1294 # Slice past end of array
1295 assert len(obj.slice(len(obj))) == 0
1296
1297 with pytest.raises(IndexError):
1298 obj.slice(-1)
1299
1300 # Check __getitem__-based slicing
1301 assert obj.slice(0, 0).equals(obj[:0])
1302 assert obj.slice(0, 2).equals(obj[:2])
1303 assert obj.slice(2, 2).equals(obj[2:4])
1304 assert obj.slice(2, len(obj) - 2).equals(obj[2:])
1305 assert obj.slice(len(obj) - 2, 2).equals(obj[-2:])
1306 assert obj.slice(len(obj) - 4, 2).equals(obj[-4:-2])
1307
1308
1309def 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