public void CanFindHierarchyById()
 {
     using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
     {
         ConfigurationApplicationNode appNode = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
         IConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
         hierarchyService.AddHierarchy(hierarchy);
         IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
         Assert.AreSame(hierarchy, foundHierarchy);
     }
 }
 public void CanFindHierarchyById()
 {
     using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
     {
         ConfigurationApplicationNode appNode   = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
         IConfigurationUIHierarchy    hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
         hierarchyService.AddHierarchy(hierarchy);
         IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
         Assert.AreSame(hierarchy, foundHierarchy);
     }
 }
        public void EnsureRemoveHierarchyAndRemoveEventFired()
        {
            using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
            {
                hierarchyService.HierarchyRemoved += new EventHandler <HierarchyRemovedEventArgs>(OnHierarchyRemoved);
                ConfigurationApplicationNode appNode   = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
                IConfigurationUIHierarchy    hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
                hierarchyService.AddHierarchy(hierarchy);
                hierarchyService.RemoveHierarchy(appNode.Id);
                IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
                hierarchyService.HierarchyRemoved -= new EventHandler <HierarchyRemovedEventArgs>(OnHierarchyRemoved);

                Assert.AreEqual(1, removedEventCount);
                Assert.AreSame(hierarchy, eventHierarchy);
                Assert.IsNull(foundHierarchy);
            }
        }
        public void EnsureRemoveHierarchyAndRemoveEventFired()
        {
            using (IConfigurationUIHierarchyService hierarchyService = new ConfigurationUIHierarchyService())
            {
                hierarchyService.HierarchyRemoved += new EventHandler<HierarchyRemovedEventArgs>(OnHierarchyRemoved);
                ConfigurationApplicationNode appNode = new ConfigurationApplicationNode(ConfigurationApplicationFile.FromCurrentAppDomain());
                IConfigurationUIHierarchy hierarchy = new ConfigurationUIHierarchy(appNode, ServiceBuilder.Build());
                hierarchyService.AddHierarchy(hierarchy);
                hierarchyService.RemoveHierarchy(appNode.Id);
                IConfigurationUIHierarchy foundHierarchy = hierarchyService.GetHierarchy(appNode.Id);
                hierarchyService.HierarchyRemoved -= new EventHandler<HierarchyRemovedEventArgs>(OnHierarchyRemoved);

                Assert.AreEqual(1, removedEventCount);
                Assert.AreSame(hierarchy, eventHierarchy);
                Assert.IsNull(foundHierarchy);
            }
        }