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"]); }
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"]); }
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); }
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"]); }