import org.junit.Test; import static org.junit.Assert.*; public class ComputeSuccessorTest { private BinaryTree<Integer> expected; private static BinaryTree<Integer> node; @Test public void findSuccessor1() throws Exception { final BinaryTree<Integer> tree = BinaryTreeUtil.getEvenTree(); expected = tree; node = tree.left; test(expected, node); } @Test public void findSuccessor2() throws Exception { final BinaryTree<Integer> tree = BinaryTreeUtil.getFullTree(); expected = tree; node = tree.left.right; test(expected, node); } @Test public void findSuccessor3() throws Exception { final BinaryTree<Integer> tree = BinaryTreeUtil.getFigureTenDotOne(); expected = tree; node = tree.left.right.right; test(expected, node); } @Test public void findSuccessor4() throws Exception { final BinaryTree<Integer> tree = BinaryTreeUtil.getFigureTenDotOne(); expected = tree.right.left; node = tree; test(expected, node); } private void test(BinaryTree<Integer> expected, BinaryTree<Integer> node) { assertEquals(expected, ComputeSuccessor.findSuccessor(node)); } }