コード例 #1
0
        public void AsString()
        {
            var cd    = new CompositeSettingsDictionary();
            var first = new SettingsDictionary()
            {
                ["a"] = "b",
            };
            var second = new SettingsDictionary()
            {
                ["c:prod"] = "d"
            };

            cd.Add(first);
            cd.Add(second);

            var settings = new Settings(cd);
            var toString = settings.ToString();

            Console.WriteLine(toString);

            var expected = "-------------------- Layer 0 ----------------------" + Environment.NewLine
                           + "| a                      | b                      |" + Environment.NewLine
                           + "-------------------- Layer 1 ----------------------" + Environment.NewLine
                           + "| c:prod                 | d                      |" + Environment.NewLine
                           + "---------------------------------------------------" + Environment.NewLine;

            Assert.AreEqual(expected, toString);
        }
コード例 #2
0
        public void EmptyCompositeDictionaryAsStringReturnsCorrectResult()
        {
            var settingsString = new CompositeSettingsDictionary()
                                 .AsString();

            Assert.AreEqual(string.Empty, settingsString);
        }
コード例 #3
0
ファイル: DictionaryTests.cs プロジェクト: ankurkalita/Fig
        public void QualifiedKeyInSameLayerHasPrecedence()
        {
            var cd    = new CompositeSettingsDictionary();
            var first = new SettingsDictionary()
            {
                ["a"]      = "a",
                ["a:prod"] = "b"
            };

            cd.Add(first);

            bool found = cd.TryGetValue("a", "prod", out var result);

            Assert.IsTrue(found);
            Assert.AreEqual("b", result);
        }
コード例 #4
0
ファイル: DictionaryTests.cs プロジェクト: ankurkalita/Fig
        public void CanExpandVariables()
        {
            var cd    = new CompositeSettingsDictionary();
            var first = new SettingsDictionary()
            {
                ["a"]      = "a",
                ["env"]    = "test",
                ["a:prod"] = "b"
            };

            cd.Add(first);

            var actual = cd.ExpandVariables("appSettings.${ENV}.json");

            Assert.AreEqual("appSettings.test.json", actual);
        }
コード例 #5
0
ファイル: DictionaryTests.cs プロジェクト: ankurkalita/Fig
        public void KeyInLowerLayerHidesOtherKeys()
        {
            var cd    = new CompositeSettingsDictionary();
            var first = new SettingsDictionary()
            {
                ["a"] = "a"
            };
            var second = new SettingsDictionary()
            {
                ["a"] = "b"
            };

            cd.Add(first);
            cd.Add(second);

            bool found = cd.TryGetValue("a", null, out var result);

            Assert.IsTrue(found);
            Assert.AreEqual("a", result);
        }
コード例 #6
0
ファイル: DictionaryTests.cs プロジェクト: ankurkalita/Fig
        public void UnqualifiedKeyInLowerLayerHidesQualifiedKeysInLayersAbove()
        {
            var cd    = new CompositeSettingsDictionary();
            var first = new SettingsDictionary()
            {
                ["a"] = "a"
            };
            var second = new SettingsDictionary()
            {
                ["a:prod"] = "b"
            };

            cd.Add(first);
            cd.Add(second);

            bool found = cd.TryGetValue("a", "prod", out var result);

            Assert.IsTrue(found);
            Assert.AreEqual("a", result);
        }