示例#1
0
        public void Test2_Nodes2()
        {
            StructuredText r = CreateRoot();
            StructuredText c = r.GetOrCreateChild("XXX.YYY.ZZZ");

            Assert.AreEqual("ZZZ", c.Name);
            Assert.AreEqual("YYY", c.Parent.Name);
            Assert.AreEqual("XXX", c.Parent.Parent.Name);
            Assert.AreSame(r, c.Parent.Parent.Parent);
            Assert.AreSame(c, r.GetOrCreateChild("XXX.YYY.ZZZ"));
        }
示例#2
0
        public void Test4_Clone()
        {
            StructuredText r = CreateRoot();
            StructuredText y = r.GetOrCreateChild("XXX.YYY");

            y.Set("A", "B");

            StructuredText nx = (StructuredText)y.Parent.Clone();

            nx.FindChild("YYY").SetOrReplace("A", "C");
            Assert.IsNull(nx.Parent);
            Assert.AreEqual("XXX {\r\n  YYY {\r\n    A=C\r\n  }\r\n}\r\n", Dump(nx));
            Assert.AreEqual("YYY {\r\n  A=B\r\n}\r\n", Dump(y));
        }
示例#3
0
        public void Test3_Parse1()
        {
            StructuredText r = CreateRoot();
            StructuredText z = r.GetOrCreateChild("XXX.YYY.ZZZ");

            z.Set("A", "B");
            z.Set("C", "D");
            StructuredText z2 = z.Parent.AddChild("ZZZ");

            z2.Set("E", "F");

            //一回変換してOK?
            StructuredText r2 = new TextStructuredTextReader(new StringReader(Dump(r))).Read();

            Assert.AreEqual(Dump(r), Dump(r2));
        }
示例#4
0
        public void Test2_Nodes1()
        {
            StructuredText r  = CreateRoot();
            StructuredText c1 = r.GetOrCreateChild("C");

            Assert.AreEqual("C", c1.Name);
            Assert.AreSame(r, c1.Parent);

            StructuredText c2 = r.AddChild("C");

            Assert.AreSame(r, c2.Parent);

            Assert.AreSame(c1, r.FindChild("C")); //must be the first child
            IList il = r.FindMultipleNote("C");

            Assert.AreEqual(2, il.Count);
            Assert.AreSame(c2, il[1]);
        }