Пример #1
0
        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);
        }
Пример #2
0
        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);
        }