Beispiel #1
0
        public void ConstructorTest()
        {
            SimisTreeNode target = new SimisTreeNode("targettype", "targetname");

            Assert.AreEqual("targettype", target.Type);
            Assert.AreEqual("targetname", target.Name);
            Assert.AreEqual(0, target.Count);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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("}");
            }
        }
Beispiel #9
0
        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);
        }