summaryrefslogtreecommitdiff
path: root/src/tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests.rs')
-rw-r--r--src/tests.rs29
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);
+
}