public void TestInvalidInput() { int[] preOrder = new int[] { 1, 2, 4, 5, 3, 6, 7 }; int[] inOrder = new int[] { 4, 2, 8, 1, 6, 3, 7 }; ConstructBinaryTree.ProcessRecursively(preOrder, inOrder); ConstructBinaryTree.ProcessIteratively(preOrder, inOrder); }
public void TestArrayLengthNotMatch() { int[] preOrder = new int[] { 1 }; int[] inOrder = new int[] { 2, 1 }; ConstructBinaryTree.ProcessRecursively(preOrder, inOrder); ConstructBinaryTree.ProcessIteratively(preOrder, inOrder); }
public void TestCompleteTree() { int[] preOrder = new int[] { 1, 2, 4, 5, 3, 6, 7 }; int[] inOrder = new int[] { 4, 2, 5, 1, 6, 3, 7 }; TreeNode expected = Helper.CreateTree(TreeType.CompleteTree); Assert.IsTrue(Helper.CompareBinaryTree(expected, ConstructBinaryTree.ProcessRecursively(preOrder, inOrder))); Assert.IsTrue(Helper.CompareBinaryTree(expected, ConstructBinaryTree.ProcessIteratively(preOrder, inOrder))); }
public void TestOnlyRootTree() { int[] preOrder = new int[] { 1 }; int[] inOrder = new int[] { 1 }; TreeNode expected = new TreeNode(1); Assert.IsTrue(Helper.CompareBinaryTree(expected, ConstructBinaryTree.ProcessRecursively(preOrder, inOrder))); Assert.IsTrue(Helper.CompareBinaryTree(expected, ConstructBinaryTree.ProcessIteratively(preOrder, inOrder))); }
public void TestNoLeftChildTree() { int[] preOrder = new int[] { 1, 2, 3, 4, 5 }; int[] inOrder = new int[] { 1, 2, 3, 4, 5 }; TreeNode expected = Helper.CreateTree(TreeType.NoLeftChildTree); Assert.IsTrue(Helper.CompareBinaryTree(expected, ConstructBinaryTree.ProcessRecursively(preOrder, inOrder))); Assert.IsTrue(Helper.CompareBinaryTree(expected, ConstructBinaryTree.ProcessIteratively(preOrder, inOrder))); }
public void TestEmptyArray() { Assert.IsNull(ConstructBinaryTree.ProcessRecursively(new int[0], new int[0])); Assert.IsNull(ConstructBinaryTree.ProcessIteratively(new int[0], new int[0])); }
public void TestNull() { Assert.IsNull(ConstructBinaryTree.ProcessRecursively(null, null)); Assert.IsNull(ConstructBinaryTree.ProcessIteratively(null, null)); }