public void CanBindIConfigurationSection() { var dic = new Dictionary <string, string> { { "Section:Integer", "-2" }, { "Section:Boolean", "TRUe" }, { "Section:Nested:Integer", "11" }, { "Section:Virtual", "Sup" } }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(dic); var config = configurationBuilder.Build(); var options = new ConfigurationInterfaceOptions(); config.Bind(options); var childOptions = new DerivedOptions(); options.Section.Bind(childOptions); Assert.True(childOptions.Boolean); Assert.Equal(-2, childOptions.Integer); Assert.Equal(11, childOptions.Nested.Integer); Assert.Equal("Derived:Sup", childOptions.Virtual); Assert.Equal("Section", options.Section.Key); Assert.Equal("Section", options.Section.Path); Assert.Equal(null, options.Section.Value); }
public void GetCanReadInheritedProperties() { var dic = new Dictionary <string, string> { { "Integer", "-2" }, { "Boolean", "TRUe" }, { "Nested:Integer", "11" }, { "Virtual", "Sup" } }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(dic); var config = configurationBuilder.Build(); var options = new DerivedOptions(); config.Bind(options); Assert.True(options.Boolean); Assert.Equal(-2, options.Integer); Assert.Equal(11, options.Nested.Integer); Assert.Equal("Derived:Sup", options.Virtual); }
public void CanBindWithKeyOverload() { var dic = new Dictionary <string, string> { { "Section:Integer", "-2" }, { "Section:Boolean", "TRUe" }, { "Section:Nested:Integer", "11" }, { "Section:Virtual", "Sup" } }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(dic); var config = configurationBuilder.Build(); var options = new DerivedOptions(); config.Bind("Section", options); Assert.True(options.Boolean); Assert.Equal(-2, options.Integer); Assert.Equal(11, options.Nested.Integer); Assert.Equal("Derived:Sup", options.Virtual); }