public void PropertiesAreSortedByNumberOnlyFirst() { var json = @"{ 'setting': { 'hello': 'a', 'bob': 'b', '42': 'c', '4':'d', '10': 'e', '1text': 'f', } }"; var jsonConfigSource = new NewtonsoftJsonConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(json) }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.Add(jsonConfigSource); var config = configurationBuilder.Build(); var configurationSection = config.GetSection("setting"); var indexConfigurationSections = configurationSection.GetChildren().ToArray(); Assert.Equal(6, indexConfigurationSections.Count()); Assert.Equal("4", indexConfigurationSections[0].Key); Assert.Equal("10", indexConfigurationSections[1].Key); Assert.Equal("42", indexConfigurationSections[2].Key); Assert.Equal("1text", indexConfigurationSections[3].Key); Assert.Equal("bob", indexConfigurationSections[4].Key); Assert.Equal("hello", indexConfigurationSections[5].Key); }
public void ImplicitArrayItemReplacement() { var json1 = @"{ 'ip': [ '1.2.3.4', '7.8.9.10', '11.12.13.14' ] }"; var json2 = @"{ 'ip': [ '15.16.17.18' ] }"; var jsonConfigSource1 = new NewtonsoftJsonConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(json1) }; var jsonConfigSource2 = new NewtonsoftJsonConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(json2) }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.Add(jsonConfigSource1); configurationBuilder.Add(jsonConfigSource2); var config = configurationBuilder.Build(); Assert.Equal(3, config.GetSection("ip").GetChildren().Count()); Assert.Equal("15.16.17.18", config["ip:0"]); Assert.Equal("7.8.9.10", config["ip:1"]); Assert.Equal("11.12.13.14", config["ip:2"]); }
public void ArraysAreKeptInFileOrder() { var json = @"{ 'setting': [ 'b', 'a', '2' ] }"; var jsonConfigSource = new NewtonsoftJsonConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(json) }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.Add(jsonConfigSource); var config = configurationBuilder.Build(); var configurationSection = config.GetSection("setting"); var indexConfigurationSections = configurationSection.GetChildren().ToArray(); Assert.Equal(3, indexConfigurationSections.Count()); Assert.Equal("b", indexConfigurationSections[0].Value); Assert.Equal("a", indexConfigurationSections[1].Value); Assert.Equal("2", indexConfigurationSections[2].Value); }