public void NestedListsBinding() { var input = new Dictionary <string, string> { { "NestedLists:0:0", "val00" }, { "NestedLists:0:1", "val01" }, { "NestedLists:1:0", "val10" }, { "NestedLists:1:1", "val11" }, { "NestedLists:1:2", "val12" }, }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(input); var config = configurationBuilder.Build(); var options = new OptionsWithLists(); config.FastBind(options); Assert.AreEqual(2, options.NestedLists.Count); Assert.AreEqual(2, options.NestedLists[0].Count); Assert.AreEqual(3, options.NestedLists[1].Count); Assert.AreEqual("val00", options.NestedLists[0][0]); Assert.AreEqual("val01", options.NestedLists[0][1]); Assert.AreEqual("val10", options.NestedLists[1][0]); Assert.AreEqual("val11", options.NestedLists[1][1]); Assert.AreEqual("val12", options.NestedLists[1][2]); }
public void ListInNestedOptionBinding() { var input = new Dictionary <string, string> { { "ObjectList:0:ListInNestedOption:0", "00" }, { "ObjectList:0:ListInNestedOption:1", "01" }, { "ObjectList:1:ListInNestedOption:0", "10" }, { "ObjectList:1:ListInNestedOption:1", "11" }, { "ObjectList:1:ListInNestedOption:2", "12" }, }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(input); var config = configurationBuilder.Build(); var options = new OptionsWithLists(); config.FastBind(options); Assert.AreEqual(2, options.ObjectList.Count); Assert.AreEqual(2, options.ObjectList[0].ListInNestedOption.Count); Assert.AreEqual(3, options.ObjectList[1].ListInNestedOption.Count); Assert.AreEqual("00", options.ObjectList[0].ListInNestedOption[0]); Assert.AreEqual("01", options.ObjectList[0].ListInNestedOption[1]); Assert.AreEqual("10", options.ObjectList[1].ListInNestedOption[0]); Assert.AreEqual("11", options.ObjectList[1].ListInNestedOption[1]); Assert.AreEqual("12", options.ObjectList[1].ListInNestedOption[2]); }
public void AlreadyInitializedListInterfaceBinding() { var input = new Dictionary <string, string> { { "AlreadyInitializedListInterface:0", "val0" }, { "AlreadyInitializedListInterface:1", "val1" }, { "AlreadyInitializedListInterface:2", "val2" }, { "AlreadyInitializedListInterface:x", "valx" } }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(input); var config = configurationBuilder.Build(); var options = new OptionsWithLists(); config.FastBind(options); var list = options.AlreadyInitializedListInterface; Assert.AreEqual(5, list.Count); Assert.AreEqual("This was here too", list[0]); Assert.AreEqual("val0", list[1]); Assert.AreEqual("val1", list[2]); Assert.AreEqual("val2", list[3]); Assert.AreEqual("valx", list[4]); }
public void CustomListBinding() { var input = new Dictionary <string, string> { { "CustomList:0", "val0" }, { "CustomList:1", "val1" }, { "CustomList:2", "val2" }, { "CustomList:x", "valx" } }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(input); var config = configurationBuilder.Build(); var options = new OptionsWithLists(); config.FastBind(options); var list = options.CustomList; Assert.AreEqual(4, list.Count); Assert.AreEqual("val0", list[0]); Assert.AreEqual("val1", list[1]); Assert.AreEqual("val2", list[2]); Assert.AreEqual("valx", list[3]); }
public void BindIntList() { var input = new Dictionary <string, string> { { "IntList:0", "42" }, { "IntList:1", "43" }, { "IntList:2", "44" }, { "IntList:x", "45" } }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(input); var config = configurationBuilder.Build(); var options = new OptionsWithLists(); config.FastBind(options); var list = options.IntList; Assert.AreEqual(4, list.Count); Assert.AreEqual(42, list[0]); Assert.AreEqual(43, list[1]); Assert.AreEqual(44, list[2]); Assert.AreEqual(45, list[3]); }
public void BindStringList() { var input = new Dictionary <string, string> { { "StringList:0", "val0" }, { "StringList:1", "val1" }, { "StringList:2", "val2" }, { "StringList:x", "valx" } }; var builder = new ConfigurationBuilder(new MemoryConfigurationProvider(input)); var config = builder.Build(); var options = new OptionsWithLists(); config.Bind(options); var list = options.StringList; Assert.Equal(4, list.Count); Assert.Equal("val0", list[0]); Assert.Equal("val1", list[1]); Assert.Equal("val2", list[2]); Assert.Equal("valx", list[3]); }
public void AlreadyInitializedListBinding() { var input = new Dictionary <string, string> { { "AlreadyInitializedList:0", "val0" }, { "AlreadyInitializedList:1", "val1" }, { "AlreadyInitializedList:2", "val2" }, { "AlreadyInitializedList:x", "valx" } }; var builder = new ConfigurationBuilder(new MemoryConfigurationSource(input)); var config = builder.Build(); var options = new OptionsWithLists(); config.Bind(options); var list = options.AlreadyInitializedList; Assert.Equal(5, list.Count); Assert.Equal("This was here before", list[0]); Assert.Equal("val0", list[1]); Assert.Equal("val1", list[2]); Assert.Equal("val2", list[3]); Assert.Equal("valx", list[4]); }
public void IntListBinding() { var input = new Dictionary <string, string> { { "IntList:0", "42" }, { "IntList:1", "43" }, { "IntList:2", "44" }, { "IntList:x", "45" } }; var builder = new ConfigurationBuilder(new MemoryConfigurationSource(input)); var config = builder.Build(); var options = new OptionsWithLists(); config.Bind(options); var list = options.IntList; Assert.Equal(4, list.Count); Assert.Equal(42, list[0]); Assert.Equal(43, list[1]); Assert.Equal(44, list[2]); Assert.Equal(45, list[3]); }
public void ObjectListBinding() { var input = new Dictionary <string, string> { { "ObjectList:0:Integer", "30" }, { "ObjectList:1:Integer", "31" }, { "ObjectList:2:Integer", "32" }, }; var builder = new ConfigurationBuilder(new MemoryConfigurationSource(input)); var config = builder.Build(); var options = new OptionsWithLists(); config.Bind(options); Assert.Equal(3, options.ObjectList.Count); Assert.Equal(30, options.ObjectList[0].Integer); Assert.Equal(31, options.ObjectList[1].Integer); Assert.Equal(32, options.ObjectList[2].Integer); }