public void CanGetSubKeys() { // Arrange var dic1 = new Dictionary <string, string>() { { "Data:DB1:Connection1", "MemVal1" }, { "Data:DB1:Connection2", "MemVal2" } }; var dic2 = new Dictionary <string, string>() { { "Data:DB2Connection", "MemVal3" } }; var dic3 = new Dictionary <string, string>() { { "DataSource:DB3:Connection", "MemVal4" } }; var memConfigSrc1 = new MemoryConfigurationSource(dic1); var memConfigSrc2 = new MemoryConfigurationSource(dic2); var memConfigSrc3 = new MemoryConfigurationSource(dic3); var config = new Configuration(); config.AddLoadedSource(memConfigSrc1); config.AddLoadedSource(memConfigSrc2); config.AddLoadedSource(memConfigSrc3); // Act var configFocusList = config.GetSubKeys("Data"); var subKeysSet = configFocusList.ToDictionary(e => e.Key, e => e.Value); // Assert Assert.Equal(2, configFocusList.Count()); Assert.Equal("MemVal1", subKeysSet["DB1"].Get("Connection1")); Assert.Equal("MemVal2", subKeysSet["DB1"].Get("Connection2")); Assert.Equal("MemVal3", subKeysSet["DB2Connection"].Get(null)); Assert.False(subKeysSet.ContainsKey("DB3")); Assert.False(subKeysSet.ContainsKey("Source:DB3")); }
public IEnumerable <KeyValuePair <string, IConfiguration> > GetSubKeys() { return(_root.GetSubKeys(_prefix.Substring(0, _prefix.Length - 1))); }
public void CanGetSubKeys() { // Arrange var dic1 = new Dictionary<string, string>() { {"Data:DB1:Connection1", "MemVal1"}, {"Data:DB1:Connection2", "MemVal2"} }; var dic2 = new Dictionary<string, string>() { {"Data:DB2Connection", "MemVal3"} }; var dic3 = new Dictionary<string, string>() { {"DataSource:DB3:Connection", "MemVal4"} }; var memConfigSrc1 = new MemoryConfigurationSource(dic1); var memConfigSrc2 = new MemoryConfigurationSource(dic2); var memConfigSrc3 = new MemoryConfigurationSource(dic3); var config = new Configuration(); config.AddLoadedSource(memConfigSrc1); config.AddLoadedSource(memConfigSrc2); config.AddLoadedSource(memConfigSrc3); // Act var configFocusList = config.GetSubKeys("Data"); var subKeysSet = configFocusList.ToDictionary(e => e.Key, e => e.Value); // Assert Assert.Equal(2, configFocusList.Count()); Assert.Equal("MemVal1", subKeysSet["DB1"].Get("Connection1")); Assert.Equal("MemVal2", subKeysSet["DB1"].Get("Connection2")); Assert.Equal("MemVal3", subKeysSet["DB2Connection"].Get(null)); Assert.False(subKeysSet.ContainsKey("DB3")); Assert.False(subKeysSet.ContainsKey("Source:DB3")); }