public void ReturnsNullWhenNotFoundAndNotRequired()
            {
                IConfig config = new Config();
                string result = config.GetConfigValue("doesnt-exist", isRequired: false);

                Assert.IsNull(result);
            }
            public void ReturnsTheDefaultValueWhenConfigValueNotFound()
            {
                IConfig config = new Config();
                string expectedResult = "default-value";
                string actualResult = config.GetConfigValue("doesnt-exist", false, defaultValue: expectedResult);

                Assert.AreEqual(expectedResult, actualResult);
            }
            public void ReturnsTheRequestedValue()
            {
                // <add key="sampleSetting" value="default-value"/>
                IConfig config = new Config();

                string settingName = "sampleSetting";
                string expectedResult = "default-value";
                string actualResult = config.GetConfigValue(settingName);

                Assert.AreEqual(expectedResult, actualResult);
            }
 public void ThrowsWhenNotFoundAndRequired()
 {
     IConfig config = new Config();
     string result = config.GetConfigValue("doesnt-exist", isRequired: true);
 }
 public void ThrowsWhenTheValueIsNotInConfigAndRequired()
 {
     IConfig config = new Config();
     IList<string> actualResult = config.GetList("doesnt-exist", isRequired: true);
 }
            public void ReturnsTheGivenList()
            {
                IConfig config = new Config();
                IList<string> actualResult = config.GetList("sampleList");

                IList<string> expectedResult = new List<string> { "one", "two", "three", "four" };

                CustomAssert.AreEqual<string>(expectedResult, actualResult, (x, y) => { Assert.AreEqual(x, y); });
            }
            public void ReturnsTheExpectedResultWhenACustomDelimterIsUsed()
            {
                IConfig config = new Config();
                IList<string> actualResult = config.GetList("sampleList-customDelim",delimiter:'|');

                IList<string> expectedResult = new List<string> { "one", "two", "three", "four" };

                CustomAssert.AreEqual<string>(expectedResult, actualResult, (x, y) => { Assert.AreEqual(x, y); });
            }
            public void ReturnsTheDefaultValueWhenConfigValueNotFound()
            {
                IConfig config = new Config();
                IList<string> expectedResult = new List<string> { "default", "value", "here" };
                IList<string> actualResult = config.GetList("doesnt-exist", defaultValue: expectedResult);

                Assert.AreEqual(expectedResult, actualResult);
            }
            public void ReturnsNullWhenNotInConfigAndNotRequired()
            {
                IConfig config = new Config();
                IList<string> actualResult = config.GetList("doesnt-exist", isRequired: false);

                Assert.IsNull(actualResult);
            }