()
| 2630 | |
| 2631 | #[test] |
| 2632 | fn test_alignment() { |
| 2633 | let buffer = Buffer::from_vec(vec![1_i32, 2_i32, 3_i32]); |
| 2634 | let sliced = buffer.slice(1); |
| 2635 | |
| 2636 | let mut data = ArrayData { |
| 2637 | data_type: DataType::Int32, |
| 2638 | len: 0, |
| 2639 | offset: 0, |
| 2640 | buffers: vec![buffer], |
| 2641 | child_data: vec![], |
| 2642 | nulls: None, |
| 2643 | }; |
| 2644 | data.validate_full().unwrap(); |
| 2645 | |
| 2646 | // break alignment in data |
| 2647 | data.buffers[0] = sliced; |
| 2648 | let err = data.validate().unwrap_err(); |
| 2649 | |
| 2650 | assert_eq!( |
| 2651 | err.to_string(), |
| 2652 | "Invalid argument error: Misaligned buffers[0] in array of type Int32, offset from expected alignment of 4 by 1" |
| 2653 | ); |
| 2654 | |
| 2655 | data.align_buffers(); |
| 2656 | data.validate_full().unwrap(); |
| 2657 | } |
| 2658 | |
| 2659 | #[test] |
| 2660 | fn test_alignment_struct() { |
nothing calls this directly
no test coverage detected