Macro leetcode_test_utils::new_child[][src]

macro_rules! new_child {
    ($rc:expr, left, $val:expr) => { ... };
    ($rc:expr, l, $val:expr) => { ... };
    ($rc:expr, L, $val:expr) => { ... };
    ($rc:expr, right, $val:expr) => { ... };
    ($rc:expr, r, $val:expr) => { ... };
    ($rc:expr, R, $val:expr) => { ... };
    ($rc:expr, [$left:expr, $right:expr]) => { ... };
}
Expand description

Rapidly create left & right children of the given node.

Examples

use leetcode_test_utils::{new_child, btree};
use leetcode_test_utils::tree::shortcuts::new_node;
use leetcode_test_utils::tree::T;

let root = new_node(42);

new_child!(root.as_ref().unwrap(), left, 2);
assert_eq!(T(root.clone()), T(btree!(42, 2)));

new_child!(root.as_ref().unwrap(), l, 3);
assert_eq!(T(root.clone()), T(btree!(42, 3)));

new_child!(root.as_ref().unwrap(), L, 4);
assert_eq!(T(root.clone()), T(btree!(42, 4)));

new_child!(root.as_ref().unwrap(), right, 5);
assert_eq!(T(root.clone()), T(btree!(42, 4, 5)));

new_child!(root.as_ref().unwrap(), r, 6);
assert_eq!(T(root.clone()), T(btree!(42, 4, 6)));

new_child!(root.as_ref().unwrap(), R, 7);
assert_eq!(T(root.clone()), T(btree!(42, 4, 7)));

new_child!(root.as_ref().unwrap(), [8, 9]);
assert_eq!(T(root.clone()), T(btree!(42, 8, 9)));