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

Function test_alignment

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

Source from the content-addressed store, hash-verified

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() {

Callers

nothing calls this directly

Calls 4

validate_fullMethod · 0.80
align_buffersMethod · 0.80
sliceMethod · 0.45
validateMethod · 0.45

Tested by

no test coverage detected