diff options
Diffstat (limited to 'src/tests.rs')
-rw-r--r-- | src/tests.rs | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/tests.rs b/src/tests.rs index 3c029b9..7b377d3 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -1,15 +1,32 @@ -use crate::tree; - +use crate::tree::{self, InsertDirection}; +fn ascending_predicate(l: i32, r: i32) -> InsertDirection { + if l >= r { + return InsertDirection::Right; + } else { + return InsertDirection::Left; + } + } #[test] pub fn test_tree_init() { let _ = tree::Tree::new(1); } - +#[test] +pub fn test_tree_level_order_print() { + let mut t = tree::Tree::new(1); + let arr = vec![12, 567, 45, 56, 77, 293, 10, 2]; + for i in arr { + t.insert(i, ascending_predicate); + } + t.level_order(); +} #[test] pub fn test_tree_insert() { let mut t = tree::Tree::new(1); - t.insert_left(12); - t.insert_right(13); - t.insert_left(15); + + let arr = vec![12, 567, 45, 56, 77, 293, 10, 2]; + for i in arr { + t.insert(i, ascending_predicate); + } println!("{}", t); + } |