Ejemplo n.º 1
0
        public void TestConfTree_Clone_Modify_Save()
        {
            ConfTree conf1 = Builder.Generate(new Dictionary <string, string> {
                { "Item1", "Value1" },
                { "Item2", "Value2" },
            }, "DictionaryConf");

            Builder.Xml.Save(conf1, $"{GlobalVar.ResultPath}/Conf.xml");
            GlobalVar.Log.Debug(conf1.ShowAll());

            ConfTree conf2 = conf1.Clone("new") as ConfTree;

            Builder.Xml.Save(conf2 as ConfTree);

            conf1["Item1"] = "Value3";
            Builder.Xml.Save(conf1 as ConfTree);

            Debug.WriteLine(conf2.ToString());
            conf2["Item2"] = "Value4";
            Builder.Xml.Save(conf2 as ConfTree);

            ConfTree readback = Builder.Xml.Generate($"{GlobalVar.ResultPath}/Conf.xml");

            Debug.WriteLine(readback.ToString());
            JbAssert.Equal(readback["Default:Item1"], "Value3");
            JbAssert.Equal(readback["Default:Item2"], "Value2");
            JbAssert.Equal(readback["new:Item1"], "Value1");
            JbAssert.Equal(readback["new:Item2"], "Value4");
        }
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 TestConfMgmt_AddNewConf()
        {
            ConfMgmt.Generate($@"{GlobalVar.SamplePath}/ConfigFiles");
            var conf = ConfMgmt.GetTree("SystemSetting");

            GlobalVar.Log.Debug(conf.ShowAll());

            Assert.ThrowsException <Exception>(() => { var result = conf["new:DutsCount"]; });

            var newconf = conf.Find("System").Clone("new") as ConfTree;

            newconf["DutsCount"] = "20";
            Builder.Xml.Save(newconf as ConfTree);

            //restore
            ConfMgmt.Clear();
            ConfMgmt.Generate($@"{GlobalVar.SamplePath}/ConfigFiles");
            conf = ConfMgmt.GetTree("SystemSetting");
            JbAssert.Equal(conf["DutsCount"], "40");
            JbAssert.Equal(conf["new:DutsCount"], "20");

            conf.XmlDoc.RemoveNode(conf.Find("DutsCount", new List <string>()
            {
                "new"
            }).Path);
            conf.XmlDoc.Save($@"{GlobalVar.SamplePath}/ConfigFiles/Configs/SystemSetting.xml");
        }
Ejemplo n.º 4
0
        public void TestConfTreeFind_Conflict()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/MultiLevel.xml");

            GlobalVar.Log.Debug(conf.ShowAll());

            JbAssert.Equal(conf[@"Level1/Item"], "1.0");
            JbAssert.Equal(conf[@"Level1/Item1"], "1.1");
            JbAssert.Equal(conf[@"Level2/Item"], "2.0");
            JbAssert.Equal(conf[@"Level2/Item2"], "2.1");
            JbAssert.Equal(conf[@"Level2/Item22"], "2.2");
            JbAssert.Equal(conf[@"Level1/Level2/Item"], "2.0");
            JbAssert.Equal(conf[@"Level1/Level2/Item2"], "2.1");
            JbAssert.Equal(conf[@"Level1/Level2/Item22"], "2.2");
            JbAssert.Equal(conf[@"Level3/Item"], "3.0");
            JbAssert.Equal(conf[@"Level3/Item3"], "3.1");
            JbAssert.Equal(conf[@"Level2/Level3/Item"], "3.0");
            JbAssert.Equal(conf[@"Level2/Level3/Item3"], "3.1");
            JbAssert.Equal(conf[@"Level1/Level2/Level3/Item"], "3.0");
            JbAssert.Equal(conf[@"Level1/Level2/Level3/Item3"], "3.1");
            JbAssert.Equal(conf[@"Level4/Item"], "4.0");

            JbAssert.Equal(conf.FindStrict("Item", null, false).Value, "1.0");
            JbAssert.Equal(conf.FindStrict(@"Level1/Item").Value, "1.0");
            Assert.ThrowsException <Exception>(() => { conf.FindStrict("Item"); });
        }
Ejemplo n.º 5
0
        public void TestBuild_Xml_Tag_FindItem()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/Tag.xml");

            JbAssert.Equal(conf[@"Default:Item1"], "0");
            JbAssert.Equal(conf[@"Tag1:Item1"], "1.1");
            JbAssert.Equal(conf[@"Tag2:Item1"], "2.1");
        }
Ejemplo n.º 6
0
        public void TestBuild_Xml_Tag()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/Tag.xml");

            Debug.WriteLine(conf.ToString());
            JbAssert.Equal(conf[@"Default:Func/Item1"], "0");
            JbAssert.Equal(conf[@"Tag1:Func/Item1"], "1.1");
            JbAssert.Equal(conf[@"Tag2:Func/Item1"], "2.1");
        }
Ejemplo n.º 7
0
        public void TestBuild_Xml_Attribute()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/Attribute.xml");

            Debug.WriteLine(conf.ToString());

            JbAssert.Equal(conf[@"CW/Ith.Min"], "0");
            JbAssert.Equal(conf[@"CW/Ith.Max"], "10000");
        }
Ejemplo n.º 8
0
        public void TestBuild_Xml_SameItemName()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/SameItemName.xml");

            Debug.WriteLine(conf.ToString());
            JbAssert.Equal(conf[@"Function1/Item1"], "Value1");
            JbAssert.Equal(conf[@"Function2/Item1"], "Func2-1");
            JbAssert.Equal(conf[@"Function3/Item1"], "Func3-1");
        }
Ejemplo n.º 9
0
        public void TestBuild_Xml_MultiTagWithDefault()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/MultiTagWithDefault.xml");

            Debug.WriteLine(conf.ToString());

            JbAssert.Equal(conf[@"T1.1:Item1"], "1.1.1.1");
            JbAssert.Equal(conf[@"T1.2:Item1"], "1.2.2.1");
            JbAssert.Equal(conf[@"T1.2.1:Item1"], "1.2.1.3");
        }
Ejemplo n.º 10
0
        public void TestBuild_Xml_MultiLevel_SameItemName()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/MultiLevel.xml");

            Debug.Write(conf);

            JbAssert.Equal(conf[@"Level1/Item"], "1.0");
            JbAssert.Equal(conf[@"Level2/Item"], "2.0");
            JbAssert.Equal(conf[@"Level3/Item"], "3.0");
            JbAssert.Equal(conf[@"Level4/Item"], "4.0");
        }
Ejemplo n.º 11
0
        public void TestConfMgmt_Getter()
        {
            ConfMgmt.Generate($@"{GlobalVar.SamplePath}/ConfigFiles");

            JbAssert.Equal(ConfMgmt.GetItem("K7001_Adr"), "7");
            JbAssert.Equal(ConfMgmt.GetItem("Equipments/K7001_Adr"), "7");

            //暂不支持冲突检测
            //Assert.ThrowsException<Exception>(() => { var result = ConfMgmt.Item("Channel1"); });
            JbAssert.Equal(ConfMgmt.GetItem("ChannelSettings/Channel1"), "1!1");
            JbAssert.Equal(ConfMgmt.GetItem("RSettings/Channel1"), "0.5");
        }
Ejemplo n.º 12
0
        public void TestBuild_Xml_CheckPath()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/Basic.xml");

            JbAssert.Equal(conf.Find("Item1").Path, "/Basic(Basic)/Function1");
            JbAssert.Equal(conf.Find("Item2").Path, "/Basic(Basic)/Function1");
            JbAssert.Equal(conf.Find("Item3").Path, "/Basic(Basic)/Function2");
            JbAssert.Equal(conf.Find("Item4").Path, "/Basic(Basic)/Function2");
            JbAssert.Equal(conf.Find("Item5").Path, "/Basic(Basic)");

            conf["Item1"] = "Value5";
            JbAssert.Equal(conf.Find("Item1").Path, "/Basic(Basic)/Function1");
        }
Ejemplo n.º 13
0
        public void TestBuild_Xml_Attribute_Modify()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/Attribute.xml");

            JbAssert.Equal(conf[@"CW/Ith.Min"], "0");

            Debug.WriteLine(conf.ToString());
            conf[@"Specs/Spec/CW/Ith.Min"] = "1";
            Builder.Xml.Save(conf, $@"{GlobalVar.ResultPath}/Attribute.xml");

            conf = Builder.Xml.Generate($@"{GlobalVar.ResultPath}/Attribute.xml");
            JbAssert.Equal(conf[@"CW/Ith.Min"], "1");
        }
Ejemplo n.º 14
0
        public void TestBuild_Dictionary_Save()
        {
            ConfTree conf = Builder.Generate(new Dictionary <string, string> {
                { "Item1", "Value1" },
                { "Item2", "Value2" },
            }, "DictConf1");

            Assert.IsTrue(conf["Item1"] == "Value1");
            Assert.IsTrue(conf["Item2"] == "Value2");

            JbAssert.Equal(conf.Find("Item1").Path, "/DictConf1(Default)");
            JbAssert.Equal(conf.Find("Item2").Path, "/DictConf1(Default)");

            Builder.Xml.Save(conf, $@"{GlobalVar.ResultPath}/DictConf1.xml");
        }
Ejemplo n.º 15
0
        public void TestConfMgmt_Setter_NoConflict()
        {
            FileOp.RmDir(GlobalVar.ResultPath);
            FileOp.CopyDir($@"{GlobalVar.SamplePath}/ConfigFiles", GlobalVar.ResultPath);

            ConfMgmt.Clear();
            ConfMgmt.Generate(GlobalVar.ResultPath);

            JbAssert.Equal(ConfMgmt.GetItem("K7001_Adr"), "7");
            ConfMgmt.SetItem("K7001_Adr", "0");
            ConfMgmt.Save();

            ConfMgmt.Clear();
            ConfMgmt.Generate(GlobalVar.ResultPath);
            JbAssert.Equal(ConfMgmt.GetItem("K7001_Adr"), "0");
        }
Ejemplo n.º 16
0
        public void TestBuild_Xml_MultiLevel()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/MultiLevel.xml");

            conf.Save($@"{GlobalVar.ResultPath}\root.xml");

            JbAssert.Equal(conf["Item1"], "1.1");
            JbAssert.Equal(conf[@"Level1/Item1"], "1.1");
            JbAssert.Equal(conf[@"MultiLevel/Level1/Item1"], "1.1");

            JbAssert.Equal(conf["Item2"], "2.1");
            JbAssert.Equal(conf[@"Level2/Item2"], "2.1");
            JbAssert.Equal(conf[@"MultiLevel/Level1/Level2/Item2"], "2.1");
            JbAssert.Equal(conf["Item22"], "2.2");

            JbAssert.Equal(conf["Item3"], "3.1");
            JbAssert.Equal(conf[@"Level3/Item3"], "3.1");
            JbAssert.Equal(conf[@"MultiLevel/Level1/Level2/Level3/Item3"], "3.1");
        }
Ejemplo n.º 17
0
        public void TestConfMgmt_Modify()
        {
            ConfMgmt.Generate($@"{GlobalVar.SamplePath}/ConfigFiles");
            var conf = ConfMgmt.GetTree("SystemSetting");

            conf["DutsCount"] = "0";
            ConfMgmt.Save();

            conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/ConfigFiles/Configs/SystemSetting.xml");
            JbAssert.Equal(conf["DutsCount"], "0");

            //restore
            ConfMgmt.Clear();
            ConfMgmt.Generate($@"{GlobalVar.SamplePath}/ConfigFiles");
            conf = ConfMgmt.GetTree("SystemSetting");

            conf["DutsCount"] = "40";
            ConfMgmt.Save();

            conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/ConfigFiles/Configs/SystemSetting.xml");
            JbAssert.Equal(conf["DutsCount"], "40");
        }
Ejemplo n.º 18
0
        public void TestBuild_Xml_Build_Modify_Save()
        {
            ConfTree conf = Builder.Xml.Generate($@"{GlobalVar.SamplePath}/Basic.xml");

            JbAssert.Equal(conf["Item1"], "Value1");
            JbAssert.Equal(conf["Item2"], "Value2");
            JbAssert.Equal(conf["Item3"], "Value3");
            JbAssert.Equal(conf["Item4"], "Value4");
            JbAssert.Equal(conf["Item5"], "Value5");
            JbAssert.Equal(conf["Item6"], "");

            conf["Item1"] = "Value5";
            JbAssert.Equal(conf["Item1"], "Value5");
            Builder.Xml.Save(conf, $@"{GlobalVar.ResultPath}/BasicResult.xml");
            //conf.Save();

            GlobalVar.Initialize(ConfMgmt);

            conf = Builder.Xml.Generate($@"{GlobalVar.ResultPath}/BasicResult.xml");
            JbAssert.Equal(conf["Item1"], "Value5");
            JbAssert.Equal(conf["Item2"], "Value2");
            JbAssert.Equal(conf["Item3"], "Value3");
            JbAssert.Equal(conf["Item4"], "Value4");
        }