public void GetChildren_WithSection_ReturnsAllDescendents() { var configManagerFixture = new ConfigurationManagerFixture(); int numKeys = new Random().Next(1, 10); for (int keyCt = 1; keyCt <= numKeys; keyCt++) { configManagerFixture.WithAppSetting($"Key{keyCt}", $"Value{keyCt}"); configManagerFixture.WithAppSetting($"Section:Key{keyCt}", $"Value{keyCt}"); configManagerFixture.WithAppSetting($"Section:SubSection:Key{keyCt}", $"Value{keyCt}"); configManagerFixture.WithAppSetting($"OtherSection:Key{keyCt}", $"Value{keyCt}"); } IConfigurationManager configManager = configManagerFixture.Build(); var appConfig = new AppConfiguration(configManager); IAppConfigurationSection section = appConfig.GetSection("Section"); int actual = section.GetChildren().Count(); const int numSections = 2; int expected = numKeys * numSections; Assert.That(actual, Is.EqualTo(expected)); }
public void GetSection_WithSection_ReturnsSectionWithKeys(string sectionKey, string key, string value) { var configManagerFixture = new ConfigurationManagerFixture(); int numKeys = new Random().Next(1, 10); for (int keyCt = 1; keyCt <= numKeys; keyCt++) { configManagerFixture.WithAppSetting(AppConfigurationPath.Combine(sectionKey, $"{key}{keyCt}"), $"{value}{keyCt}"); } IConfigurationManager configManager = configManagerFixture.Build(); var appConfig = new AppConfiguration(configManager); IAppConfigurationSection section = appConfig.GetSection(sectionKey); int actual = section.GetChildren().Count(); Assert.That(actual, Is.EqualTo(numKeys)); }
public void GetSection_WithSubSection_ReturnsSubSectionWithKeys() { var configManagerFixture = new ConfigurationManagerFixture(); int numKeys = new Random().Next(1, 10); for (int keyCt = 1; keyCt <= numKeys; keyCt++) { configManagerFixture.WithAppSetting(AppConfigurationPath.Combine("Section", $"Key{keyCt}"), $"Value{keyCt}"); configManagerFixture.WithAppSetting(AppConfigurationPath.Combine("Section:SubSection", $"Key{keyCt}"), $"Value{keyCt}"); configManagerFixture.WithAppSetting(AppConfigurationPath.Combine("Section:OtherSubSection", $"Key{keyCt}"), $"Value{keyCt}"); } IConfigurationManager configManager = configManagerFixture.Build(); var appConfig = new AppConfiguration(configManager); IAppConfigurationSection section = appConfig.GetSection("Section"); IAppConfigurationSection subSection = section.GetSection("SubSection"); int actual = subSection.GetChildren().Count(); Assert.That(actual, Is.EqualTo(numKeys)); }