public void Test2() { // Arrange var root = Tests.CreateTree(); // Act var(node, count) = new GP21_2().Solve(root, root); // Assert Assert.AreEqual(5, count); }
public void TestNodesBelow() { // Arrange var root = CreateTree1(); var nodeAugmentations = new Dictionary <Node, GP21_2.NodeAugmentation>(); // Act GP21_2.Pass1(null, root, nodeAugmentations); // Assert Assert.AreEqual(11, nodeAugmentations[root].NodesBelow); Assert.AreEqual(5, nodeAugmentations[root.Right.Right].NodesBelow); }
public void Test3() { // Arrange var root = Tests.CreateTree(); // Act var node3 = root.Right; var(node, count) = new GP21_2().Solve(root, node3); // Assert Assert.AreEqual(6, count); Assert.AreEqual(1, node.Value); }
public void TestNodesAbove() { // Arrange var root = CreateTree1(); var nodeAugmentations = new Dictionary <Node, GP21_2.NodeAugmentation>(); GP21_2.Pass1(null, root, nodeAugmentations); // Act GP21_2.Pass2(root, 0, nodeAugmentations); // Assert Assert.AreEqual(0, nodeAugmentations[root].NodesAbove); Assert.AreEqual(9, nodeAugmentations[root.Left].NodesAbove); Assert.AreEqual(3, nodeAugmentations[root.Right].NodesAbove); Assert.AreEqual(9, nodeAugmentations[root.Right.Left].NodesAbove); }