Пример #1
0
        public void CanLoadFromRepo()
        {
            var repo  = new RepositoryInMemory <ConfigItem>();
            var items = new List <ConfigItem>()
            {
                new ConfigItem()
                {
                    App = "stockapp", Name = "dev.config", Section = "app", Key = "name", ValType = "System.String", Val = "my app name"
                },
                new ConfigItem()
                {
                    App = "stockapp", Name = "dev.config", Section = "app", Key = "pagesize", ValType = "System.Int32", Val = "10"
                },
                new ConfigItem()
                {
                    App = "stockapp", Name = "dev.config", Section = "app", Key = "enableEmails", ValType = "System.Boolean", Val = "False"
                },
                new ConfigItem()
                {
                    App = "stockapp", Name = "dev.config", Section = "app", Key = "maxAmount", ValType = "System.Double", Val = "20.5"
                },
                new ConfigItem()
                {
                    App = "stockapp", Name = "dev.config", Section = "app", Key = "businessdate", ValType = "System.DateTime", Val = DateTime.Today.Date.ToString()
                },
            };

            // Create in repo.
            foreach (var item in items)
            {
                repo.Create(item);
            }

            // Load the items into the config source.
            var config = new ConfigSourceDb("stockapp", "dev.config", repo, true);

            // Load from the repo/datasource.
            Assert.AreEqual("my app name", config["app", "name"]);
            Assert.AreEqual(10, config["app", "pagesize"]);
            Assert.AreEqual(false, config["app", "enableEmails"]);
            Assert.AreEqual(20.5, config["app", "maxAmount"]);
            Assert.AreEqual(DateTime.Today.Date, config["app", "businessdate"]);
        }
Пример #2
0
        public void CanDynamicallySave()
        {
            var sample = new ConfigSample("stockapp", "dev.config", string.Empty, false);
            var repo   = new RepositoryInMemory <ConfigItem>();

            InitSample(sample, repo);

            sample.Save();

            var config2 = new ConfigSourceDb("stockapp", "dev.config", repo, true);

            // Load from the repo/datasource.
            Assert.AreEqual(sample.AppName, "stockapp");
            Assert.AreEqual(sample.ConfigName, "dev.config");
            Assert.AreEqual(sample.Header, config2["", "Header"]);
            Assert.AreEqual(sample.PageSize, config2["", "PageSize"]);
            Assert.AreEqual(sample.EnableEmails, config2["", "EnableEmails"]);
            Assert.AreEqual(sample.MaxAmount, config2["", "MaxAmount"]);
            Assert.AreEqual(sample.BusinessDate, config2["", "BusinessDate"]);
        }
Пример #3
0
        public void CanRetrieveLookUp()
        {
            var repo   = new RepositoryInMemory <ConfigItem>();
            var config = new ConfigSourceDb("stockapp", "dev.config", repo, false);

            config["app", "name"]         = "my app name";
            config["app", "pagesize"]     = 10;
            config["app", "enableEmails"] = false;
            config["app", "businessdate"] = DateTime.Today.Date;
            config["app", "maxAmount"]    = 20.5;

            config.Save();

            // Load from the repo/datasource.
            var lookup = repo.ToLookUpMulti <string>("Key");

            Assert.AreEqual("my app name", lookup["name"].Val);
            Assert.AreEqual("10", lookup["pagesize"].Val);
            Assert.AreEqual("False", lookup["enableEmails"].Val);
            Assert.AreEqual("20.5", lookup["maxAmount"].Val);
            Assert.AreEqual(DateTime.Today.Date.ToString(), lookup["businessdate"].Val);
        }
Пример #4
0
        public void CanSaveToRepo()
        {
            var repo   = new RepositoryInMemory <ConfigItem>();
            var config = new ConfigSourceDb("stockapp", "dev.config", repo, false);

            config["app", "name"]         = "my app name";
            config["app", "pagesize"]     = 10;
            config["app", "enableEmails"] = false;
            config["app", "businessdate"] = DateTime.Today.Date;
            config["app", "maxAmount"]    = 20.5;

            config.Save();

            var config2 = new ConfigSourceDb("stockapp", "dev.config", repo, true);

            // Load from the repo/datasource.
            Assert.AreEqual(config2.Name, "dev.config");
            Assert.AreEqual("my app name", config2["app", "name"]);
            Assert.AreEqual(10, config2["app", "pagesize"]);
            Assert.AreEqual(false, config2["app", "enableEmails"]);
            Assert.AreEqual(20.5, config2["app", "maxAmount"]);
            Assert.AreEqual(DateTime.Today.Date, config2["app", "businessdate"]);
        }