public void ClearTests()
        {
            var testContext = _propertyTestData.GetContext();
            var a           = testContext.GetChildElement("a");
            var b           = testContext.GetChildElement("b");
            var c           = testContext.GetChildElement("c");
            var d           = testContext.GetChildElement("d");
            var x           = new ConfigurationCollection <IChildElement>(null, testContext.ChildConfigurationCollectionPropertyDef,
                                                                          testContext.Configuration.ConfigurationRoot, new ConfigurationObjectSettings(), a, b, c, d);

            Assert.Equal(4, x.Count);

            var change = (NotifyCollectionChangedAction)(-1);

            x.CollectionChanged += (sender, args) => { change = args.Action; };

            x.Clear();

            Assert.Equal(NotifyCollectionChangedAction.Reset, change);

            Assert.Equal(0, x.Count);

            foreach (var item in x)
            {
                Assert.True(false);
            }

            x.Dispose();
            Assert.Throws <ObjectDisposedException>(() => x.Clear());
        }
 private static ConfigurationCollection GetConfigurations(UserGroup access)
 {
     _configurations.Clear();
     foreach (ConfigurationItem item in configs)
     {
         GroupVisiblity role = item.Access;
         if (!role.IsVisible(access))
         {
             continue;
         }
         IConfiguration c = item.Configuration;
         if (c == null)
         {
             continue;
         }
         _configurations.Add(c);
     }
     return(_configurations);
 }