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

Function test_sliced_values

arrow-buffer/src/buffer/run.rs:404–423  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

402
403 #[test]
404 fn test_sliced_values() {
405 // [0, 0, 1, 2, 2, 2]
406 let buffer = RunEndBuffer::new(vec![2i32, 3, 6].into(), 0, 6);
407
408 // Slice: [0, 1, 2, 2] start: 1, len: 4
409 // Logical indices: 1, 2, 3, 4
410 // Original run ends: [2, 3, 6]
411 // Adjusted: [2-1, 3-1, 6-1] capped at 4 -> [1, 2, 4]
412 let sliced = buffer.slice(1, 4);
413 let sliced_values: Vec<i32> = sliced.sliced_values().collect();
414 assert_eq!(sliced_values, &[1, 2, 4]);
415
416 // Slice: [2, 2] start: 4, len: 2
417 // Original run ends: [2, 3, 6]
418 // Slicing at 4 means we only have the last run (physical index 2, which ends at 6)
419 // Adjusted: [6-4] capped at 2 -> [2]
420 let sliced = buffer.slice(4, 2);
421 let sliced_values: Vec<i32> = sliced.sliced_values().collect();
422 assert_eq!(sliced_values, &[2]);
423 }
424}

Callers

nothing calls this directly

Calls 3

collectMethod · 0.80
sliced_valuesMethod · 0.80
sliceMethod · 0.45

Tested by

no test coverage detected