Beispiel #1
0
        public void ExceptionOnFailedBindingIncludesPath()
        {
            const string IncorrectValue = "Invalid data";
            const string ConfigKey      = "Nested:Value";

            var dic = new Dictionary <string, string>
            {
                { ConfigKey, IncorrectValue }
            };

            var configManager = new ConfigurationManagerFixture()
                                .WithAppSettings(dic)
                                .Build();

            var config = new AppConfiguration(configManager);

            var options = new OptionsWithNesting();

            Assert.Multiple(() =>
            {
                var exception = Assert.Throws <InvalidOperationException>(
                    () => config.Bind(options));

                Assert.That(exception.Message, Does.Contain(ConfigKey));
            });
        }
        public void ExceptionOnFailedBindingIncludesPath()
        {
            const string IncorrectValue = "Invalid data";
            const string ConfigKey      = "Nested:Value";

            var dic = new Dictionary <string, string>
            {
                { ConfigKey, IncorrectValue }
            };

            var configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.AddInMemoryCollection(dic);
            var config = configurationBuilder.Build();

            var options = new OptionsWithNesting();

            var exception = Assert.ThrowsException <InvalidOperationException>(
                () => config.FastBind(options));

            Assert.AreEqual(string.Format(Strings.Error_FailedBinding, ConfigKey, typeof(int)),
                            exception.Message);
        }