import org.junit.Test; import static org.junit.Assert.*; public class IsSymmetricTest { private boolean expected; private BinaryTree<Integer> tree; @Test public void isSymmetric1() throws Exception { expected = true; tree = BinaryTreeUtil.getEvenTree(); test(expected, tree); } @Test public void isSymmetric2() throws Exception { expected = false; tree = BinaryTreeUtil.getFigureTenDotOne(); test(expected, tree); } @Test public void isSymmetric3() throws Exception { expected = true; tree = new BinaryTree<>(0); tree.right = new BinaryTree<>(1); tree.right.left = new BinaryTree<>(2); tree.left = new BinaryTree<>(1); tree.left.right = new BinaryTree<>(2); test(expected, tree); } @Test public void isSymmetric4() throws Exception { expected = false; tree = new BinaryTree<>(0); tree.right = new BinaryTree<>(1); tree.right.left = new BinaryTree<>(17); tree.left = new BinaryTree<>(1); tree.left.right = new BinaryTree<>(42); test(expected, tree); } private void test(boolean expected, BinaryTree<Integer> tree) { assertEquals(expected, IsSymmetric.isSymmetric(tree)); } }