public void ConfigureUsingXmlApplicationContext_CanMergePropertyValues() { XmlApplicationContext appContext = new XmlApplicationContext(false, ReadOnlyXmlTestResource.GetFilePath("HttpApplicationConfigurerMergablePropertiesTests.xml", typeof(HttpApplicationConfigurerTests))); ParentHttpModule module = new ParentHttpModule(); TestApplication appObject = new TestApplication(new ModuleEntry[] { new ModuleEntry("DirectoryServicesAuthentication", module) }); HttpApplicationConfigurer.Configure(appContext, appObject); //base class property has carried through successfully Assert.Contains("GrandParentValue1", module.GrandParentProperty); //parent property values remain in the final instance Assert.Contains("ParentValue1", module.ParentProperty); Assert.Contains("ParentValue2", module.ParentProperty); Assert.Contains("ParentValue3", module.ParentProperty); Assert.Contains("ParentValue4", module.ParentProperty); //the new additional value has been merged into the property Assert.Contains("MergedValueToFind", module.ParentProperty); }