Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        //收集各个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);
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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());
        }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 8
0
        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));
        }