From ecac2ca7d452073dd743274ea736344e15212991 Mon Sep 17 00:00:00 2001 From: Daniel Rose <droseger@protonmail.com> Date: Fri, 6 Jul 2018 15:12:55 +0200 Subject: [PATCH] [min_max] tests for parent(), left_child(), right_child() --- src/datastructures/min_max.rs | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/datastructures/min_max.rs b/src/datastructures/min_max.rs index 70336b6..0cba460 100644 --- a/src/datastructures/min_max.rs +++ b/src/datastructures/min_max.rs @@ -530,27 +530,47 @@ mod tests { } #[test] - // #[ignore] fn test_rank_1() { - let bits1 = bit_vec![ + let bits = bit_vec![ true, true, true, false, true, false, true, true, false, false, false, true, false, true, true, true, false, true, false, false, false, false ]; - let min_max = MinMax::new(bits1, 4); + let min_max = MinMax::new(bits, 4); assert_eq!(min_max.rank_1(11).unwrap(), 7); assert_eq!(min_max.rank_1(21).unwrap(), 11); } #[test] fn test_rank_0() { - let bits1 = bit_vec![ + let bits = bit_vec![ true, true, true, false, true, false, true, true, false, false, false, true, false, true, true, true, false, true, false, false, false, false ]; - let min_max = MinMax::new(bits1, 4); + let min_max = MinMax::new(bits, 4); assert_eq!(min_max.rank_0(12).unwrap(), 6); assert_eq!(min_max.rank_0(17).unwrap(), 7); assert_eq!(min_max.rank_0(21).unwrap(), 11); } + #[test] + fn test_parent() { + let bits = bit_vec![true, true, false, false]; + let min_max = MinMax::new(bits, 4); + assert_eq!(min_max.parent(2), 0); + } + + #[test] + fn test_left_child() { + let bits = bit_vec![true, true, false, false]; + let min_max = MinMax::new(bits, 4); + assert_eq!(min_max.left_child(0), 1); + } + + #[test] + fn test_right_child() { + let bits = bit_vec![true, true, false, false]; + let min_max = MinMax::new(bits, 4); + assert_eq!(min_max.right_child(0), 2); + } + } -- GitLab