public void PropertiesAreSortedByNumberOnlyFirst() { var hocon = @"{ 'setting': { 'hello': 'a', 'bob': 'b', '42': 'c', '4':'d', '10': 'e', '1text': 'f', } }"; var hoconConfigSource = new HoconConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(hocon) }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.Add(hoconConfigSource); 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 hocon1 = @"{ 'ip': [ '1.2.3.4', '7.8.9.10', '11.12.13.14' ] }"; var hocon2 = @"{ 'ip': [ '15.16.17.18' ] }"; var hoconConfigSource1 = new HoconConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(hocon1) }; var hoconConfigSource2 = new HoconConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(hocon2) }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.Add(hoconConfigSource1); configurationBuilder.Add(hoconConfigSource2); 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 hocon = @"{ 'setting': [ 'b', 'a', '2' ] }"; var hoconConfigSource = new HoconConfigurationSource { FileProvider = TestStreamHelpers.StringToFileProvider(hocon) }; var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.Add(hoconConfigSource); 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); }