MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_run_array_values_slice

Function test_run_array_values_slice

arrow-array/src/array/run_array.rs:1366–1394  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1364
1365 #[test]
1366 fn test_run_array_values_slice() {
1367 // 0, 0, 1, 1, 1, 2...2 (15 2s)
1368 let run_ends: PrimitiveArray<Int32Type> = vec![2, 5, 20].into();
1369 let values: PrimitiveArray<Int32Type> = vec![0, 1, 2].into();
1370 let array = RunArray::<Int32Type>::try_new(&run_ends, &values).unwrap();
1371
1372 let slice = array.slice(1, 4); // 0 | 1, 1, 1 |
1373 // logical indices: 1, 2, 3, 4
1374 // physical indices: 0, 1, 1, 1
1375 // values at 0 is 0
1376 // values at 1 is 1
1377 // values slice should be [0, 1]
1378 assert_eq!(slice.get_start_physical_index(), 0);
1379 assert_eq!(slice.get_end_physical_index(), 1);
1380
1381 let values_slice = slice.values_slice();
1382 let values_slice = values_slice.as_primitive::<Int32Type>();
1383 assert_eq!(values_slice.values(), &[0, 1]);
1384
1385 let slice2 = array.slice(2, 3); // 1, 1, 1
1386 // logical indices: 2, 3, 4
1387 // physical indices: 1, 1, 1
1388 assert_eq!(slice2.get_start_physical_index(), 1);
1389 assert_eq!(slice2.get_end_physical_index(), 1);
1390
1391 let values_slice2 = slice2.values_slice();
1392 let values_slice2 = values_slice2.as_primitive::<Int32Type>();
1393 assert_eq!(values_slice2.values(), &[1]);
1394 }
1395
1396 #[test]
1397 fn test_run_array_values_slice_empty() {

Callers

nothing calls this directly

Calls 3

try_newFunction · 0.85
sliceMethod · 0.45
values_sliceMethod · 0.45

Tested by

no test coverage detected