public void ContainerPropertyTest()
        {
            srv.Security.Remove();
            Assert.AreEqual(sec1.State, NodeState.Removed);
            Assert.AreEqual(srv.Security, null);

            sec2 = new DatabaseModel.Security(srv, "sec2");
            Assert.AreEqual(srv.Security, sec2);
            AssertEx.Throws <InvalidOperationException>(
                () => sec1 = new DatabaseModel.Security(srv, "sec3"));

            sec2.Remove();
            Assert.AreEqual(sec2.State, NodeState.Removed);
            Assert.AreEqual(srv.Security, null);

            sec1 = new DatabaseModel.Security(srv, "sec1");
            Assert.AreEqual(srv.Security, sec1);
        }
 public void Setup()
 {
     srv         = new Server("srv");
     srv.Actions = new ActionSequence();
     sec1        = new DatabaseModel.Security(srv, "sec1");
     u1          = new User(sec1, "u1")
     {
         Password = "******"
     };
     u1.Password = "******";
     u2          = new User(sec1, "u2")
     {
         Password = "******"
     };
     u2.Password = "******";
     r1          = new Role(sec1, "r1");
     r2          = new Role(sec1, "r2");
     new RoleRef(u1, r1);
     new RoleRef(u1, r2);
     new RoleRef(u2, r2);
     // sec2 = new Security(srv, "sec2");
     db1 = new Database(srv, "db1")
     {
         Owner = u1
     };
     db2 = new Database(srv, "db2")
     {
         Owner = u1
     };
     s1 = new Schema(db1, "s1");
     t1 = new Table(s1, "t1");
     new PrimaryIndex(t1, "PK_t1");
     new SecondaryIndex(t1, "SI_t1a");
     new SecondaryIndex(t1, "SI_t1b");
     new SecondaryIndex(t1, "SI_t1ab");
     s2 = new Schema(db1, "s2");
     t2 = new Table(s2, "t2");
     new PrimaryIndex(t2, "PK_t2");
     new SecondaryIndex(t2, "SI_t2a");
     new SecondaryIndex(t2, "SI_t2ab");
 }