public void CloneGraphSolutionResultsInSuccess() { var node1 = new Node(1, new List <Node>()); var node2 = new Node(2, new List <Node>()); var node3 = new Node(3, new List <Node>()); var node4 = new Node(4, new List <Node>()); node1.neighbors.Add(node2); node1.neighbors.Add(node4); node2.neighbors.Add(node1); node2.neighbors.Add(node3); node3.neighbors.Add(node2); node3.neighbors.Add(node4); node4.neighbors.Add(node1); node4.neighbors.Add(node3); var expectedResult = DFS(node1); var result = new CloneGraph().CloneGraphSolution(node1); var actualResult = DFS(result); var areEqual = CollectionsAreEqual.AreEqual(actualResult, expectedResult, new GraphComparer()); Assert.IsTrue(areEqual); }
public void BinaryTreePathResultsInSucessForIterativeImplementation() { var treeNode1 = new TreeNode(1); var treeNode2 = new TreeNode(2); var treeNode3 = new TreeNode(3); var treeNode5 = new TreeNode(5); treeNode1.Left = treeNode2; treeNode1.Right = treeNode3; treeNode2.Right = treeNode5; var expectedResult = new List <string>() { "1->2->5", "1->3" }; var result = new BinaryTreePaths().BinaryTreePathsIterative(treeNode1); var areEqual = CollectionsAreEqual.AreEqual <string>(result, expectedResult); Assert.IsTrue(areEqual); }
public void LetterCombinationResultsInSuccess() { var expectedResult = new List <string> { "ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf" }; var result = new LetterCombinations().LetterCombinationsSolution("23"); var areEqual = CollectionsAreEqual.AreEqual <string>(result, expectedResult); Assert.IsTrue(areEqual); }
public void PreOrderInOrderTraversalRecursive_Success() { var preorder = new int[] { 3, 9, 20, 15, 7 }; var inorder = new int[] { 9, 3, 15, 20, 7 }; var result = new ConstructBinaryTreefromPreorderInorderTraversal().BuildTreeRecursive(preorder, inorder); var preOrderTraversalResult = PreOrderTraversal(result); var areEqual = CollectionsAreEqual.AreEqual <int>(preorder, preOrderTraversalResult); Assert.IsNotNull(result); Assert.IsTrue(areEqual); }
public void PreOrderPostOrderTraversal_Success() { var preorder = new int[] { 1, 2, 4, 8, 9, 5, 3, 6, 7 }; var postorder = new int[] { 8, 9, 4, 5, 2, 6, 7, 3, 1 }; var result = new ConstructBinaryTreefromPreorderPostorderTraversal().BuildTree(preorder, postorder); var preOrderTraversalResult = PreOrderTraversal(result); var areEqual = CollectionsAreEqual.AreEqual <int>(preorder, preOrderTraversalResult); Assert.IsNotNull(result); Assert.IsTrue(areEqual); }
public void ConstructBinaryTreeFromInorderPostorderTraversalSuccess() { var postorder = new int[] { 9, 15, 7, 20, 3 }; var inorder = new int[] { 9, 3, 15, 20, 7 }; var result = new ConstructBinaryTreeFromInorderPostorderTraversal().BuildTree(inorder, postorder); var inOrderTraversalResult = new InOrderTraversalIterative().InOrderTraversal(result); var areEqual = CollectionsAreEqual.AreEqual <int>(inorder, inOrderTraversalResult); Assert.IsNotNull(result); Assert.IsTrue(areEqual); }
public void RemoveParenThesisResultsInSuccess() { string input = "()())()"; List <string> expectedResult = new List <string>() { "(())()", "()()()", }; var result = new RemoveInvalidParenthesesSolution().RemoveInvalidParentheses(input); var areEqual = CollectionsAreEqual.AreEqual(result, expectedResult); Assert.IsTrue(areEqual); }
public void MissingRangeTests_Success() { int[] nums = new int[] { 0, 1, 3, 50, 75 }; List <string> expectedResult = new List <string>() { "2", "4->49", "51->74", "76->99" }; var result = new MissingRanges().FindMissingRanges(nums, 0, 99); var areEqual = CollectionsAreEqual.AreEqual(result, expectedResult); Assert.IsTrue(areEqual); nums = new int[] { -1 }; expectedResult = new List <string>() { "-2" }; result = new MissingRanges().FindMissingRanges(nums, -2, -1); areEqual = CollectionsAreEqual.AreEqual(result, expectedResult); Assert.IsTrue(areEqual); }