public void ForwardReplace()
        {
            var s = new MultiSettings();

            s.Add(GetXmlSettings("ACfg_FA"));
            s.Add(GetXmlSettings("ACfg"));

            var cfg = s.Combine<CombineConfig>("ACfg");
            Assert.AreEqual("A", cfg.F);
        }
        public void ReplaceNull()
        {
            var s = new MultiSettings();

            for(int i =0; i<3 ; i++)
                s.Add(GetXmlSettings("Empty"));

            var cfg = s.LoadCollection<ReplacedConfig>("ACfg").LastOrDefault();
            Assert.IsNull(cfg);
        }
        public void ForwardReplace()
        {
            var s = new MultiSettings();

            s.Add(GetXmlSettings("ACfg_FA"));
            s.Add(GetXmlSettings("ACfg"));

            var cfg = s.TryCombine<FullCombineConfig>("ACfg", FullCombineConfig.Combine);
            Assert.IsNotNull(cfg);
            Assert.AreEqual("A", cfg.F);
        }
        public void Replace(string expected, params string[] confFiles)
        {
            var s = new MultiSettings();

            foreach(var name in confFiles)
                s.Add(GetXmlSettings(name));

            var cfg = s.LoadCollection<ReplacedConfig>("ACfg").LastOrDefault();
            Assert.IsNotNull(cfg);
            Assert.AreEqual(expected, cfg.F);
        }
        public void ForwardReplace()
        {
            var s = new MultiSettings();

            s.Add(GetXmlSettings("ACfg_FA"));
            s.Add(GetXmlSettings("ACfg"));

            var cfg = s.LoadCollection<ReplacedConfig>("ACfg").LastOrDefault();
            Assert.IsNotNull(cfg);
            Assert.IsNull(cfg.F);
        }
        public void Replace(string expected, params string[] confFiles)
        {
            var s = new MultiSettings();

            foreach(var name in confFiles)
                s.Add(GetXmlSettings(name));

            var cfg = s.TryCombine<FullCombineConfig>("ACfg", FullCombineConfig.Combine);
            Assert.IsNotNull(cfg);
            Assert.AreEqual(expected, cfg.F);
        }
        public void ReplaceNull()
        {
            var s = new MultiSettings();

            for(int i =0; i<3 ; i++)
                s.Add(GetXmlSettings("Empty"));

            var cfg = s.TryCombine<FullCombineConfig>("ACfg", FullCombineConfig.Combine);
            Assert.IsNull(cfg);
        }
 public SettingsLoader(MultiSettings settings, params ISettingsFactory[] factories)
 {
     _settings = settings;
     AddFactory(factories);
 }