public void ConstructorTest() { SimisTreeNode target = new SimisTreeNode("targettype", "targetname"); Assert.AreEqual("targettype", target.Type); Assert.AreEqual("targetname", target.Name); Assert.AreEqual(0, target.Count); }
public void RenameTest() { SimisTreeNode target = new SimisTreeNode("targettype", "targetname", new SimisTreeNode[2]); target = target.Rename("newname"); Assert.AreEqual("targettype", target.Type); Assert.AreEqual("newname", target.Name); Assert.AreEqual(2, target.Count); }
public void EqualsByValueTest() { SimisTreeNode target = new SimisTreeNode("targettype", "targetname"); SimisTreeNode other = new SimisTreeNode("targettype", "targetname"); Assert.IsTrue(target.EqualsByValue(other)); other = new SimisTreeNode("targettype", "targetname2"); Assert.IsFalse(target.EqualsByValue(other)); other = new SimisTreeNode("targettype2", "targetname"); Assert.IsFalse(target.EqualsByValue(other)); }
public void ToStringTest() { SimisTreeNode child1 = new SimisTreeNode("child1type", "child1name"); SimisTreeNode child2 = new SimisTreeNode("child2type", "child2name"); SimisTreeNode target = new SimisTreeNode("targettype", "targetname"); Assert.AreEqual("<targettype \"targetname\"></targettype>", target.ToString()); target = target.AppendChild(child1); Assert.AreEqual("<targettype \"targetname\"><child1type \"child1name\"></child1type></targettype>", target.ToString()); target = target.AppendChild(child2); Assert.AreEqual("<targettype \"targetname\"><child1type \"child1name\"></child1type>, <child2type \"child2name\"></child2type></targettype>", target.ToString()); }
public void ItemTest() { SimisTreeNode child1 = new SimisTreeNode("child1type", "child1name"); SimisTreeNode child2 = new SimisTreeNode("child2type", "child2name"); SimisTreeNode target = new SimisTreeNode("type", "name", new SimisTreeNode[] { child1, child2 }); Assert.AreEqual(child1.Type, target["child1type"].Type); Assert.AreEqual(child1.Name, target["child1type"].Name); Assert.AreEqual(child1.Count, target["child1type"].Count); Assert.AreEqual(child2.Type, target["child2type"].Type); Assert.AreEqual(child2.Name, target["child2type"].Name); Assert.AreEqual(child2.Count, target["child2type"].Count); }
public void ReplaceChildTest() { SimisTreeNode child1 = new SimisTreeNode("child1type", "child1name"); SimisTreeNode child2 = new SimisTreeNode("child2type", "child2name"); SimisTreeNode target = new SimisTreeNode("targettype", "targetname", new SimisTreeNode[] { child1 }); target = target.ReplaceChild(child2, child1); Assert.AreEqual("targettype", target.Type); Assert.AreEqual("targetname", target.Name); Assert.AreEqual(1, target.Count); Assert.AreEqual(child2.Type, target[0].Type); Assert.AreEqual(child2.Name, target[0].Name); Assert.AreEqual(child2.Count, target[0].Count); }
public void ApplyTest() { SimisTreeNode child3 = new SimisTreeNode("child3type", "child3name"); SimisTreeNode child2 = new SimisTreeNode("child2type", "child2name"); SimisTreeNode child1 = new SimisTreeNode("child1type", "child1name", new[] { child2 }); SimisTreeNode target = new SimisTreeNode("targettype", "targetname", new[] { child1 }); target = target.GetPath(child1, child2).Append(child3); Assert.AreEqual("targettype", target.Type); Assert.AreEqual("targetname", target.Name); Assert.AreEqual(1, target.Count); Assert.AreEqual(child1.Type, target[0].Type); Assert.AreEqual(child1.Name, target[0].Name); Assert.AreEqual(1, target[0].Count); Assert.AreEqual(child2.Type, target[0][0].Type); Assert.AreEqual(child2.Name, target[0][0].Name); Assert.AreEqual(1, target[0][0].Count); Assert.AreEqual(child3.Type, target[0][0][0].Type); Assert.AreEqual(child3.Name, target[0][0][0].Name); Assert.AreEqual(0, target[0][0][0].Count); }
static void PrintSimisTree(int indent, SimisTreeNode node) { Console.Write(new String(' ', 2 * indent)); var nodeValue = node as SimisTreeNodeValue; if (nodeValue != null) { if (nodeValue.Name.Length > 0) { Console.Write(nodeValue.Name); Console.Write(" "); } Console.Write("("); Console.Write(nodeValue.Type); Console.Write(")"); Console.Write(": "); Console.WriteLine(nodeValue.Value); } else { Console.Write(node.Type); if (node.Name.Length > 0) { Console.Write(" \""); Console.Write(node.Name); Console.WriteLine("\" {"); } else { Console.WriteLine(" {"); } foreach (var child in node) { PrintSimisTree(indent + 1, child); } Console.Write(new String(' ', 2 * indent)); Console.WriteLine("}"); } }
public void AppendChildTest() { SimisTreeNode child1 = new SimisTreeNode("child1type", "child1name"); SimisTreeNode child2 = new SimisTreeNode("child2type", "child2name"); SimisTreeNode target = new SimisTreeNode("targettype", "targetname"); target = target.AppendChild(child1); Assert.AreEqual("targettype", target.Type); Assert.AreEqual("targetname", target.Name); Assert.AreEqual(1, target.Count); Assert.AreEqual(child1.Type, target[0].Type); Assert.AreEqual(child1.Name, target[0].Name); Assert.AreEqual(child1.Count, target[0].Count); target = target.AppendChild(child2); Assert.AreEqual("targettype", target.Type); Assert.AreEqual("targetname", target.Name); Assert.AreEqual(2, target.Count); Assert.AreEqual(child1.Type, target[0].Type); Assert.AreEqual(child1.Name, target[0].Name); Assert.AreEqual(child1.Count, target[0].Count); Assert.AreEqual(child2.Type, target[1].Type); Assert.AreEqual(child2.Name, target[1].Name); Assert.AreEqual(child2.Count, target[1].Count); }