()
| 2658 | |
| 2659 | #[test] |
| 2660 | fn test_alignment_struct() { |
| 2661 | let buffer = Buffer::from_vec(vec![1_i32, 2_i32, 3_i32]); |
| 2662 | let sliced = buffer.slice(1); |
| 2663 | |
| 2664 | let child_data = ArrayData { |
| 2665 | data_type: DataType::Int32, |
| 2666 | len: 0, |
| 2667 | offset: 0, |
| 2668 | buffers: vec![buffer], |
| 2669 | child_data: vec![], |
| 2670 | nulls: None, |
| 2671 | }; |
| 2672 | |
| 2673 | let schema = DataType::Struct(Fields::from(vec![Field::new("a", DataType::Int32, false)])); |
| 2674 | let mut data = ArrayData { |
| 2675 | data_type: schema, |
| 2676 | len: 0, |
| 2677 | offset: 0, |
| 2678 | buffers: vec![], |
| 2679 | child_data: vec![child_data], |
| 2680 | nulls: None, |
| 2681 | }; |
| 2682 | data.validate_full().unwrap(); |
| 2683 | |
| 2684 | // break alignment in child data |
| 2685 | data.child_data[0].buffers[0] = sliced; |
| 2686 | let err = data.validate().unwrap_err(); |
| 2687 | |
| 2688 | assert_eq!( |
| 2689 | err.to_string(), |
| 2690 | "Invalid argument error: Misaligned buffers[0] in array of type Int32, offset from expected alignment of 4 by 1" |
| 2691 | ); |
| 2692 | |
| 2693 | data.align_buffers(); |
| 2694 | data.validate_full().unwrap(); |
| 2695 | } |
| 2696 | |
| 2697 | #[test] |
| 2698 | fn test_null_view_types() { |
nothing calls this directly
no test coverage detected