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

Function test_slice

arrow-data/src/data.rs:2402–2423  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2400
2401 #[test]
2402 fn test_slice() {
2403 let mut bit_v: [u8; 2] = [0; 2];
2404 bit_util::set_bit(&mut bit_v, 0);
2405 bit_util::set_bit(&mut bit_v, 3);
2406 bit_util::set_bit(&mut bit_v, 10);
2407 let data = ArrayData::builder(DataType::Int32)
2408 .len(16)
2409 .add_buffer(make_i32_buffer(16))
2410 .null_bit_buffer(Some(Buffer::from(bit_v)))
2411 .build()
2412 .unwrap();
2413 let new_data = data.slice(1, 15);
2414 assert_eq!(data.len() - 1, new_data.len());
2415 assert_eq!(1, new_data.offset());
2416 assert_eq!(data.null_count(), new_data.null_count());
2417
2418 // slice of a slice (removes one null)
2419 let new_data = new_data.slice(1, 14);
2420 assert_eq!(data.len() - 2, new_data.len());
2421 assert_eq!(2, new_data.offset());
2422 assert_eq!(data.null_count() - 1, new_data.null_count());
2423 }
2424
2425 #[test]
2426 #[should_panic(expected = "offset + length overflow")]

Callers

nothing calls this directly

Calls 7

set_bitFunction · 0.85
add_bufferMethod · 0.80
make_i32_bufferFunction · 0.70
buildMethod · 0.45
null_bit_bufferMethod · 0.45
lenMethod · 0.45
sliceMethod · 0.45

Tested by

no test coverage detected