public void CanLoadConfigurationFromGlobalAndUserRepositoryUsingShortAndLongName() { var userConfigurationDirectory = "user-configuration".AsNewDirectoryInfo(); var systemConfigurationDirectory = "temp-configuration".AsNewDirectoryInfo(); var systemConfiguration = new SampleConfigurationWithDefaultValues() { Value = 10, SecondValue = 200 }; var userConfiguration = new { Value = 20 }; WriteConfiguration <SampleConfigurationWithDefaultValues>(userConfigurationDirectory, userConfiguration, true); WriteConfiguration <SampleConfigurationWithDefaultValues>(systemConfigurationDirectory, systemConfiguration); var container = new CompositionContainer(); var configurationCatalog = new LoadConfiguration(systemConfigurationDirectory, container); configurationCatalog.AddConfigurationLocation(userConfigurationDirectory); configurationCatalog.Load(); var conf = container.GetExportedValue <SampleConfigurationWithDefaultValues>(); Assert.Equal(20, conf.Value); Assert.Equal(200, conf.SecondValue); }
public void RequestingStoredConfigurationWithADefaultTypeAlreadyRegisteredShouldReturnStoredConfiguration() { var configurationDirectory = "temp-configuration".AsNewDirectoryInfo(); var conf = new SampleConfigurationWithDefaultValues() { Value = 10 }; WriteConfiguration <SampleConfigurationWithDefaultValues>(configurationDirectory, conf); var container = new CompositionContainer(new AssemblyCatalog(this.GetType().Assembly)); var configurationCatalog = new LoadConfiguration(configurationDirectory, container); configurationCatalog.Load(); conf = container.GetExportedValue <SampleConfigurationWithDefaultValues>(); Assert.Equal(10, conf.Value); }