public void GeneratePossibleArraysTest_SimpleCase() { // Arrange var root = new BinaryTreeNode <int>(2) { Left = new BinaryTreeNode <int>(1), Right = new BinaryTreeNode <int>(3) }; Console.WriteLine("Input:"); TestHelper.PrintBinaryTree(root); var expectedArrays = new List <LinkedList <int> >(2) { new LinkedList <int>(new int[] { 2, 1, 3 }), new LinkedList <int>(new int[] { 2, 3, 1 }) }; expectedArrays.Sort(new LinkedListComparerHelper()); // Act List <LinkedList <int> > resultArrays = Question_4_9.GeneratePossibleArrays(root); resultArrays.Sort(new LinkedListComparerHelper()); Console.WriteLine("Output:"); foreach (LinkedList <int> array in resultArrays) { TestHelper.PrintCollection(array); } // Assert Assert.IsTrue(expectedArrays.SequenceEqual(resultArrays, new LinkedListComparerHelper()), "Content possible arrays generated does not match."); }
public void GeneratePossibleArraysTest() { // Arrange var root = new BinaryTreeNode <int>(4) { Left = new BinaryTreeNode <int>(2) { Left = new BinaryTreeNode <int>(1) { Left = new BinaryTreeNode <int>(0) }, Right = new BinaryTreeNode <int>(3) }, Right = new BinaryTreeNode <int>(5) { Right = new BinaryTreeNode <int>(6) } }; Console.WriteLine("Input:"); TestHelper.PrintBinaryTree(root); // Act List <LinkedList <int> > resultArrays = Question_4_9.GeneratePossibleArrays(root); // Assert Assert.AreEqual(45, resultArrays.Count, "Total number of possible arrays generated does not match."); Console.WriteLine("Output:"); foreach (LinkedList <int> array in resultArrays) { TestHelper.PrintCollection(array); Assert.AreEqual(7, array.Count, "Total elements in each array generated does not match."); Assert.AreEqual(4, array.First.Value, "First element in each array generated does not match."); } }