public void AsDFS() { BinaryArbor1 <int> tree = GetTestTree(); int[] targetValues = { 2, 1, 4, 5, 3, 6, 7 }; Assert.AreEqual(tree.GetEntireFamily().ToArray().Length, targetValues.Length); AssertCollectionEquality(tree.GetItemsAsDFS(), targetValues); }
private BinaryArbor1 <int> GetTestTree() { BinaryArbor1 <int> leftEnd = new BinaryArbor1 <int> (1, new BinaryArbor1 <int> (4, null, null), new BinaryArbor1 <int> (5, null, null)); BinaryArbor1 <int> rightEnd = new BinaryArbor1 <int> (3, new BinaryArbor1 <int> (6, null, null), new BinaryArbor1 <int> (7, null, null)); BinaryArbor1 <int> tree = new BinaryArbor1 <int> (2, leftEnd, rightEnd); return(tree); }
public void PopulateWorksSize2() { BinaryArbor1 <int> tree = new BinaryArbor1 <int>(); int[] values = { 1, 2 }; tree.Populate(values); Assert.AreEqual(values[0], tree.Value); Assert.AreEqual(values[1], tree.Right.Value); }
public void PopulateWorksSize1() { BinaryArbor1 <int> tree = new BinaryArbor1 <int>(); int[] values = { 1 }; tree.Populate(values); Assert.AreEqual(values[0], tree.Value); Assert.IsNull(tree.Left); Assert.IsNull(tree.Right); }
public void PopulateWorksSize0() { BinaryArbor1 <int> tree = new BinaryArbor1 <int>(); List <int> values = new List <int> (); tree.Populate(values); Assert.AreEqual(default(int), tree.Value); Assert.IsNull(tree.Left); Assert.IsNull(tree.Right); }
public void DFSTest() { BinaryArbor1 <int> tree = GetTestTree(); int[] targetValues = { 2, 1, 4, 5, 3, 6, 7 }; var result = tree.GetItemsAsDFS().ToArray(); Console.WriteLine("Expected: " + ListElements(targetValues)); Console.WriteLine("Actual : " + ListElements(result)); }
public void TestExtractValues() { IBinaryArbor <char>[] nodes = new IBinaryArbor <char> [4]; char[] chars = new char[4]; chars [0] = 'a'; chars [1] = 'b'; chars [2] = 'c'; chars [3] = 'd'; nodes [0] = new BinaryArbor1 <char> (chars[0], null, null); nodes [1] = new BinaryArbor1 <char> (chars[1], null, null); nodes [2] = new BinaryArbor1 <char> (chars[2], null, null); nodes [3] = new BinaryArbor1 <char> (chars[3], null, null); IEnumerable <char> values = BinaryArbor1 <char> .ExtractValues(nodes); AssertCollectionEquality(values, chars); }
public void PopulateWorksSize4() { BinaryArbor1 <int> tree = new BinaryArbor1 <int>(); int[] values = { 1, 2, 3, 4 }; tree.Populate(values); Assert.AreEqual(values[0], tree.Left.Value); Assert.AreEqual(values[1], tree.Value); Assert.AreEqual(values[2], tree.Right.Value); Assert.AreEqual(values[3], tree.Right.Right.Value); Assert.IsNull(tree.Right.Left); Assert.IsNull(tree.Left.Left); Assert.IsNull(tree.Left.Right); Assert.IsNull(tree.Right.Right.Left); Assert.IsNull(tree.Right.Right.Right); Assert.AreEqual(tree.Left.Parent.Value, tree.Value); Assert.AreEqual(tree.Right.Parent.Value, tree.Value); Assert.AreEqual(tree.Right.Right.Parent.Value, tree.Right.Value); }