From e7a68af7d2f9ffcf1d3d0e4379f3e52ca6057c72 Mon Sep 17 00:00:00 2001 From: yangjiang Date: Thu, 21 Jul 2022 15:03:41 +0800 Subject: [PATCH] fix ut --- .../arrow/record_reader/definition_levels.rs | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/parquet/src/arrow/record_reader/definition_levels.rs b/parquet/src/arrow/record_reader/definition_levels.rs index 54e2175eed5..5c71d56c0db 100644 --- a/parquet/src/arrow/record_reader/definition_levels.rs +++ b/parquet/src/arrow/record_reader/definition_levels.rs @@ -462,10 +462,10 @@ mod tests { let mut skip_value = 0; let mut read_value = 0; - let mut read_data = vec![]; loop { - let remaining = len - read_value - skip_value; + let offset = read_value + skip_value; + let remaining = len - offset; if remaining == 0 { break; } @@ -475,20 +475,15 @@ mod tests { } else if to_read > 0 { let mut decoded = BooleanBufferBuilder::new(to_read); read_value += decoder.read(&mut decoded, to_read).unwrap(); - read_data.push(decoded.as_slice().to_vec()); + for i in 0..to_read { + //check each bit + let read_bit = decoded.get_bit(i); + let expect_bit = expected.get_bit(i + offset); + assert_eq!(read_bit, expect_bit); + } } } - assert_eq!(read_value + skip_value, len); - - let expected = expected.as_slice(); - for data in read_data.iter().enumerate() { - assert!(find_subsequence(expected, data.1).is_some()); - } - } - - fn find_subsequence(u1: &[u8], u2: &Vec) -> Option { - u1.windows(u2.len()).position(|window| window == u2) } #[test]