/// <summary> /// Applies the extension configuration section loading behavior to the extensions. /// </summary> /// <param name="extensions">The extensions.</param> public void Behave(IEnumerable <IExtension> extensions) { Ensure.ArgumentNotNull(extensions, "extensions"); foreach (IExtension extension in extensions) { IHaveConfigurationSectionName sectionNameProvider = this.factory.CreateHaveConfigurationSectionName(extension); ILoadConfigurationSection sectionProvider = this.factory.CreateLoadConfigurationSection(extension); ExtensionConfigurationSection section = GetExtensionConfigurationSection(sectionNameProvider, sectionProvider); if (!section.Configuration.OfType <ExtensionSettingsElement>().Any()) { continue; } IConsumeConfiguration consumer = this.factory.CreateConsumeConfiguration(extension); FillConsumerConfiguration(section, consumer); IHaveConversionCallbacks conversionCallbacksProvider = this.factory.CreateHaveConversionCallbacks(extension); IHaveDefaultConversionCallback defaultConversionCallbackProvider = this.factory.CreateHaveDefaultConversionCallback(extension); this.assignExtensionProperties.Assign(this.reflectExtensionProperties, extension, consumer, conversionCallbacksProvider, defaultConversionCallbackProvider); } }
public ConfigurationSectionBehaviorTest() { this.consumer = A.Fake <IConsumeConfigurationSection>(); this.sectionNameProvider = A.Fake <IHaveConfigurationSectionName>(); this.sectionProvider = A.Fake <ILoadConfigurationSection>(); this.factory = A.Fake <IConfigurationSectionBehaviorFactory>(); this.AutoStubFactory(); this.extensions = new List <IExtension> { A.Fake <IExtension>(), A.Fake <IExtension>(), }; this.testee = new ConfigurationSectionBehavior(this.factory); }
/// <inheritdoc /> public void Behave(IEnumerable <IExtension> extensions) { Ensure.ArgumentNotNull(extensions, "extensions"); foreach (IExtension extension in extensions) { IConsumeConfigurationSection consumer = this.factory.CreateConsumeConfigurationSection(extension); IHaveConfigurationSectionName sectionNameProvider = this.factory.CreateHaveConfigurationSectionName(extension); ILoadConfigurationSection sectionProvider = this.factory.CreateLoadConfigurationSection(extension); string sectionName = sectionNameProvider.SectionName; ConfigurationSection section = sectionProvider.GetSection(sectionName); consumer.Apply(section); } }
public ExtensionConfigurationSectionBehaviorTest() { this.consumer = A.Fake <IConsumeConfiguration>(); this.extensionPropertyReflector = A.Fake <IReflectExtensionProperties>(); this.sectionNameProvider = A.Fake <IHaveConfigurationSectionName>(); this.sectionProvider = A.Fake <ILoadConfigurationSection>(); this.conversionCallbacksProvider = A.Fake <IHaveConversionCallbacks>(); this.defaultConversionCallbackProvider = A.Fake <IHaveDefaultConversionCallback>(); this.assigner = A.Fake <IAssignExtensionProperties>(); this.factory = A.Fake <IExtensionConfigurationSectionBehaviorFactory>(); this.SetupAutoStubFactory(); this.extensions = new List <IExtension> { A.Fake <IExtension>(), }; this.testee = new ExtensionConfigurationSectionBehavior(this.factory); }
private static ExtensionConfigurationSection GetExtensionConfigurationSection(IHaveConfigurationSectionName sectionNameProvider, ILoadConfigurationSection sectionProvider) { string sectionName = sectionNameProvider.SectionName; return(sectionProvider.GetSection(sectionName) as ExtensionConfigurationSection ?? ExtensionConfigurationSectionHelper.CreateSection(new Dictionary <string, string>())); }