GEMLA/gemla/src/tests/tree.rs
2021-06-03 19:33:12 -07:00

36 lines
905 B
Rust

use super::super::tree::Tree;
#[test]
fn test_new() {
assert_eq!(
Tree::new(30, None, Some(Box::new(Tree::new(20, None, None)))),
Tree {
val: 30,
left: None,
right: Some(Box::new(Tree {
val: 20,
left: None,
right: None,
})),
}
);
}
#[test]
fn test_fmt() {
assert_eq!(
format!("{}", btree!("foo", Some(btree!("bar")),),),
"{\"val\":\"foo\",\"left\":{\"val\":\"bar\",\"left\":null,\"right\":null},\"right\":null}"
);
}
#[test]
fn test_fmt_node() {
let t = btree!(17, Some(btree!(16)), Some(btree!(12)));
assert_eq!(Tree::fmt_node(&t.left), "16");
assert_eq!(
Tree::fmt_node(&Some(Box::new(btree!(btree!("foo"))))),
"{\"val\":\"foo\",\"left\":null,\"right\":null}"
);
assert_eq!(Tree::<i32>::fmt_node(&None), "_");
}