public void GetSubtreeWeight_CalculatesWeightCorrectly() { var root = new ProgramTreeNode("test", 7); root.AddChild(new ProgramTreeNode("test", 2)); root.AddChild(new ProgramTreeNode("test", 3)); root.AddChild(new ProgramTreeNode("test", 2)); Assert.AreEqual(14, _systemUnderTest.GetSubTreeWeight(root)); }
public void IsBalanced_FalseIfChildrenNotAllSameWeight() { var root = new ProgramTreeNode("test", 7); root.AddChild(new ProgramTreeNode("test", 2)); root.AddChild(new ProgramTreeNode("test", 3)); root.AddChild(new ProgramTreeNode("test", 2)); Assert.IsFalse(_systemUnderTest.IsBalanced(root)); }
public void IsBalanced_TrueIfChildrenAllSameWeight() { var root = new ProgramTreeNode("test", 6); root.AddChild(new ProgramTreeNode("test", 2)); root.AddChild(new ProgramTreeNode("test", 2)); root.AddChild(new ProgramTreeNode("test", 2)); Assert.IsTrue(_systemUnderTest.IsBalanced(root)); }
public void AddChild_ChildNodeHasReferenceToParent() { var parent = new ProgramTreeNode("test", 1); var child = new ProgramTreeNode("child", 1); parent.AddChild(child); Assert.AreEqual(parent, child.Parent); }
public void AddChild_ChildNodeAddedToChildrenCollection() { var parent = new ProgramTreeNode("test", 1); var child = new ProgramTreeNode("child", 1); parent.AddChild(child); Assert.Contains(child, parent.Children.ToList()); }