import org.junit.Test; import static org.junit.Assert.*; public class SumRootToLeafTest { private int expected; private BinaryTree<Integer> tree; @Test public void sumRootToLeaf1() throws Exception { expected = 6; tree = new BinaryTree<>(0); tree.right = new BinaryTree<>(1); tree.right.right = new BinaryTree<>(0); tree.left = new BinaryTree<>(0); tree.left.left = new BinaryTree<>(1); test(expected, tree); } @Test public void sumRootToLeaf2() throws Exception { expected = 8; tree = new BinaryTree<>(1); tree.right = new BinaryTree<>(1); tree.right.right = new BinaryTree<>(0); tree.left = new BinaryTree<>(0); tree.left.left = new BinaryTree<>(1); test(expected, tree); } @Test public void sumRootToLeaf3() throws Exception { expected = 16; tree = new BinaryTree<>(1); tree.right = new BinaryTree<>(1); tree.right.right = new BinaryTree<>(0); tree.right.left = new BinaryTree<>(1); tree.left = new BinaryTree<>(0); tree.left.left = new BinaryTree<>(1); tree.left.right = new BinaryTree<>(0); test(expected, tree); } private void test(int expected, BinaryTree<Integer> tree) { assertEquals(expected, SumRootToLeaf.sumRootToLeaf(tree)); } }