package com.github.miniyk2012.coding2017.basic; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import com.github.miniyk2012.coding2017.basic.BinaryTreeNode; public class BinaryTreeNodeTest { private BinaryTreeNode<Integer> binaryTreeNode; /** // 4 // 1 5 // 2 3 */ @Before public void setUpBinaryTreeNode() { binaryTreeNode = new BinaryTreeNode<Integer>(4); binaryTreeNode.insert(1); binaryTreeNode.insert(3); binaryTreeNode.insert(5); binaryTreeNode.insert(2); } @Test public void testBinaryTreeNodeFunctional1() { assertEquals(new Integer(4), binaryTreeNode.getData()); assertEquals(new Integer(1), binaryTreeNode.getLeft().getData()); assertEquals(new Integer(5), binaryTreeNode.getRight().getData()); assertEquals(new Integer(3), binaryTreeNode.getLeft().getRight().getData()); assertEquals(new Integer(2), binaryTreeNode.getLeft().getRight().getLeft().getData()); } @Test public void testBinaryTreeFunctional2() { BinaryTreeNode<Integer> node1 = binaryTreeNode.getLeft(); assertEquals(new Integer(1), node1.getData()); assertEquals(new Integer(3), node1.getRight().getData()); assertEquals(new Integer(5), binaryTreeNode.getRight().getData()); } @Rule public ExpectedException expectedEx = ExpectedException.none(); @Test public void testBinaryTreeFunctional3() { BinaryTreeNode<Integer> treeNode = new BinaryTreeNode<Integer>(100); treeNode.insert(10); binaryTreeNode.setRight(treeNode); // 4 // 1 100 // 2 3 10 assertEquals(new Integer(4), binaryTreeNode.getData()); assertEquals(new Integer(1), binaryTreeNode.getLeft().getData()); assertEquals(new Integer(3), binaryTreeNode.getLeft().getRight().getData()); assertEquals(new Integer(2), binaryTreeNode.getLeft().getRight().getLeft().getData()); assertEquals(new Integer(100), binaryTreeNode.getRight().getData()); assertEquals(new Integer(10), binaryTreeNode.getRight().getLeft().getData()); expectedEx.expect(Exception.class); binaryTreeNode.getRight().getRight().getRight(); // null exception binaryTreeNode.getRight().getRight().getLeft(); // null exception } }