()
| 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")] |
nothing calls this directly
no test coverage detected