velvia commented on a change in pull request #8688: URL: https://github.com/apache/arrow/pull/8688#discussion_r526346099
########## File path: rust/arrow/src/compute/kernels/boolean.rs ########## @@ -457,4 +517,42 @@ mod tests { assert_eq!(true, res.value(2)); assert_eq!(false, res.value(3)); } + + fn assert_array_eq<T: ArrowNumericType>( + expected: PrimitiveArray<T>, + actual: ArrayRef, + ) { + let actual = actual + .as_any() + .downcast_ref::<PrimitiveArray<T>>() + .expect("Actual array should unwrap to type of expected array"); + + for i in 0..expected.len() { + if expected.is_null(i) { + assert!(actual.is_null(i)); + } else { + assert_eq!(expected.value(i), actual.value(i)); + } + } + } + Review comment: It's a good question @jorgecarleitao and thanks so much for digging into it. I had found some mention of offsets but haven't completely grokked what was going on there, looks like will have to dive into it a little bit. I'll rebase and look into the data() discrepancy above and the details of the array equality comparison, and report back. cheers and thanks! ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org