public void PopChild() { var n = new MultiTreeNode <string>("1"); n.AddChild(new MultiTreeNode <string>("2")); n.AddChild(new MultiTreeNode <string>("3")); Assert.AreEqual(n.GetChildren().Select(t => t.Data), new[] { "3", "2" }); Assert.AreEqual(n.PopChild().Data, "3"); Assert.AreEqual(n.GetChildren().Select(t => t.Data), new[] { "2" }, "Incorrect GetChildren after ChildPop"); }
public void SeveralChildren() { var n = new MultiTreeNode <string>("1"); n.AddChild(new MultiTreeNode <string>("2")); n.AddChild(new MultiTreeNode <string>("3")); n.AddChild(new MultiTreeNode <string>("4")); n.AddChild(new MultiTreeNode <string>("5")); Assert.AreEqual(n.GetChildren().Select(t => t.Data), new[] { "5", "4", "3", "2" }); }
public void OneChild() { var n = new MultiTreeNode <string>("1"); n.AddChild(new MultiTreeNode <string>("2")); Assert.AreEqual(n.GetChildren().Select(t => t.Data), new[] { "2" }); }
public void ManyChildrenCount() { var n = new MultiTreeNode <int>(0); for (var i = 1; i <= 4; i++) { n.AddChild(new MultiTreeNode <int>(i)); } Assert.AreEqual(n.Count, 4, "Child count was incorrect"); }
public void ChildByIdx() { var n = new MultiTreeNode <int>(0); for (var i = 1; i <= 4; i++) { n.AddChild(new MultiTreeNode <int>(i)); } Assert.AreEqual(n[3].Data, 1, "Child by idx was incorrect"); }
public void ParentsAreOk() { var n = new MultiTreeNode <int>(0); for (var i = 1; i <= 4; i++) { n.AddChild(new MultiTreeNode <int>(i)); } foreach (var ch in n.GetChildren()) { Assert.AreSame(ch.Parent, n, "Parent is incorrect"); } }
public void ChildByIncorrectIdx() { var n = new MultiTreeNode <int>(0); n.AddChild(new MultiTreeNode <int>(1)); try { var x = n[3].Data; } catch (ArgumentException) { return; } Assert.Fail(); }