use lctree::{FindMax, LinkCutTree};
#[test]
pub fn basic_usage() {
let mut lctree: LinkCutTree<FindMax> = LinkCutTree::new();
let a = lctree.make_tree(9.);
let b = lctree.make_tree(1.);
let c = lctree.make_tree(8.);
let d = lctree.make_tree(10.);
let e = lctree.make_tree(2.);
let f = lctree.make_tree(4.);
lctree.link(b, a);
lctree.link(c, b);
lctree.link(d, b);
lctree.link(e, a);
lctree.link(f, e);
assert!(lctree.connected(c, f));
let heaviest_node = lctree.path(c, f);
assert_eq!(heaviest_node.idx, a);
assert_eq!(heaviest_node.weight, 9.0);
lctree.cut(e, a);
assert!(!lctree.connected(c, f)); }