summaryrefslogtreecommitdiff
path: root/src/tests.rs
diff options
context:
space:
mode:
authorZhongheng Liu <z.liu@outlook.com.gr>2025-02-13 14:51:15 +0200
committerZhongheng Liu <z.liu@outlook.com.gr>2025-02-13 14:51:15 +0200
commit24e5572112a72818b37d3a82c08ba929c238d9f9 (patch)
tree2e6083837ffab12b9ccb64f701bf30d7e2246175 /src/tests.rs
parent2df06be1ce3b8693d50dbbadc4e47e2be2d6b0fd (diff)
downloadtree-rs-master.tar.gz
tree-rs-master.tar.bz2
tree-rs-master.zip
feat: level order recursive implementationHEADmaster
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);
+
}