public void TestConfTree_AddMixToTree2() { ConfTree tree1 = new ConfTree("Tree1"); tree1.Add(new ConfItem("Item1-1", "Value1-1")); ConfTree tree2 = new ConfTree("Tree2"); tree2.Add(new ConfItem("Item2-1", "Value2-1")); tree2.Add(new ConfItem("Item2-2", "Value2-2")); ConfTree tree3 = new ConfTree("Tree3"); tree3.Add(new ConfItem("Item3-1", "Value3-1")); tree3.Add(new ConfItem("Item3-2", "Value3-2")); tree1.Add(tree2); tree2.Add(tree3); Assert.IsTrue(tree1.Find("Item1-1").Path == "/Tree1"); Assert.IsTrue(tree1.Find("Tree2").Path == "/Tree1"); Assert.IsTrue(tree1.Find("Item2-1").Path == "/Tree1/Tree2"); Assert.IsTrue(tree1.Find("Tree3").Path == "/Tree1/Tree2"); Assert.IsTrue(tree1.Find("Item3-1").Path == "/Tree1/Tree2/Tree3"); Assert.IsTrue(tree1.Find("Item3-2").Path == "/Tree1/Tree2/Tree3"); GlobalVar.Log.Debug(tree1.ShowAll()); }
public void TestConfTree_Clone_SaveToDiffFile() { ConfTree conf1 = Builder.Generate(new Dictionary <string, string> { { "Item1", "Value1" }, { "Item2", "Value2" }, }, "DictionaryConf"); Assert.IsTrue(conf1.XmlDoc == null); Builder.Xml.Save(conf1, $"{GlobalVar.ResultPath}/Conf1.xml"); JbAssert.PathEqual((conf1.XmlDoc as XmlDocument).BaseURI, $"file:///{GlobalVar.ResultPath}/Conf1.xml"); var conf2 = conf1.Clone("new"); Debug.WriteLine(conf2.ToString()); Assert.IsTrue((conf2 as ConfTree).XmlDoc == null); Builder.Xml.Save(conf2 as ConfTree, $"{GlobalVar.ResultPath}/Conf2.xml"); JbAssert.PathEqual(((conf2 as ConfTree).XmlDoc as XmlDocument).BaseURI, $"file:///{GlobalVar.ResultPath}/Conf2.xml"); ConfTree conf = new ConfTree("DictionaryConf"); conf.Add(conf1); conf.Add(conf2); Debug.WriteLine(conf.ToString()); Builder.Xml.Save(conf as ConfTree, $"{GlobalVar.ResultPath}/Conf.xml"); JbAssert.PathEqual(((conf as ConfTree).XmlDoc as XmlDocument).BaseURI, $"file:///{GlobalVar.ResultPath}/Conf.xml"); var conf4 = conf.Clone("conf4"); ConfTree super = new ConfTree("SuperConf"); super.Add(conf); super.Add(conf4); Builder.Xml.Save(super, $"{GlobalVar.ResultPath}/Super.xml"); JbAssert.PathEqual(((super as ConfTree).XmlDoc as XmlDocument).BaseURI, $"file:///{GlobalVar.ResultPath}/Super.xml"); }
public void TestConfNodeEditor_AddNode_ToTagParent() { ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/DefaultSpec.xml"); conf.Save($@"{GlobalVar.ResultPath}\root.xml"); conf = Builder.Xml.Generate($@"{GlobalVar.ResultPath}\root.xml"); var node = conf.Find(@"Specs/BR", new List <string>() { "HighTemp" }); Assert.IsTrue(node == null); ConfTree newnode = new ConfTree("BR"); newnode.Add(new ConfItem("Max", "10")); newnode.Add(new ConfItem("Min", "0")); var tree = conf.GetItem(@"HighTemp:Specs") as ConfTree; tree.AddNode(newnode); conf.Save(); conf = Builder.Xml.Generate($@"{GlobalVar.ResultPath}\root.xml"); node = conf.Find(@"Specs/BR", new List <string>() { "HighTemp" }); Assert.IsTrue(node != null); }
//收集各个item(TextBox/RadioButton)的值生成ConfTree public virtual ConfTree Generate(string tag = null) { var conf = new ConfTree(GetType().Name); Traverse(Controls, (control) => { if (control is TextBox) { var tb = control as TextBox; conf.Add(new ConfItem(tb.Name, tb.Text)); } else if (control is ComboBox) { var cb = control as ComboBox; conf.Add(new ConfItem(cb.Name, cb.Text)); } else if (control is RadioButton) { var rb = control as RadioButton; if (rb.Checked) { var values = rb.Name.Split('_'); var name = values[0]; var value = values[1]; var item = new ConfItem(name, value); item.Attributes.Add("guitype", "RadioButton"); conf.Add(item); } } }); CurrentConf = conf; return(conf); }
public void TestConfTree_Compare_SimpleTreeNotEqual() { ConfTree tree1 = new ConfTree("Tree1"); tree1.Add(new ConfItem("Item1-1", "Value1-1")); tree1.Add(new ConfItem("Item1-2", "Value1-2")); ConfTree tree2 = new ConfTree("Tree2"); tree2.Add(new ConfItem("Item1-1", "Value1-1")); Assert.IsFalse(tree1.Equals(tree2)); }
public void TestConfTree_AddItemToTree() { ConfTree conf = new ConfTree("TestBuildTree"); Assert.IsTrue(conf.Name == "TestBuildTree"); conf.Add(new ConfItem("Item1", "Value1")); Assert.IsTrue(conf["Item1"] == "Value1"); Assert.IsTrue(conf.Find("Item1").Path == "/TestBuildTree"); GlobalVar.Log.Debug(conf.ShowAll()); }
public void TestConfTree_AddTreeToTree() { ConfTree tree1 = new ConfTree("Tree1"); tree1.Add(new ConfItem("Item1", "Value1")); ConfTree tree2 = new ConfTree("Tree2"); tree2.Add(new ConfItem("Item2", "Value2")); tree1.Add(tree2); Assert.IsTrue(tree1.Find("Item1").Path == "/Tree1"); Assert.IsTrue(tree1.Find("Tree2").Path == "/Tree1"); Assert.IsTrue(tree1.Find("Item2").Path == "/Tree1/Tree2"); Assert.IsTrue(tree1.Find("Item1").Parent.Name == "Tree1"); Assert.IsTrue(tree1.Find("Tree2").Parent.Name == "Tree1"); Assert.IsTrue(tree1.Find("Item2").Parent.Name == "Tree2"); GlobalVar.Log.Debug(tree1.ShowAll()); }
public void TestConfTree_Compare_MixedTree() { ConfTree a1 = new ConfTree("Tree1"); a1.Add(new ConfItem("Item1-1", "Value1-1")); ConfTree a2 = new ConfTree("Tree2"); a2.Add(new ConfItem("Item2-1", "Value2-1")); a2.Add(new ConfItem("Item2-2", "Value2-2")); a1.Add(a2); ConfTree b1 = new ConfTree("Tree1"); b1.Add(new ConfItem("Item1-1", "Value1-1")); ConfTree b2 = new ConfTree("Tree2"); b2.Add(new ConfItem("Item2-1", "Value2-1")); b2.Add(new ConfItem("Item2-2", "Value2-2")); b1.Add(b2); Assert.IsTrue(a1.Equals(b1)); }