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")); }
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)); }
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)); }
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]); }