Beispiel #1
0
        public void CompTestCreateObjectsSave()
        {
            z.SGN = sgn;
            pm.MakePersistent(z);
            pm.Save();
            Assert.That(!z.NDOObjectId.Equals(z.SGN.NDOObjectId), "Ids should be different");
            z   = (Zertifikat)pm.FindObject(z.NDOObjectId);
            sgn = (Signatur)pm.FindObject(z.SGN.NDOObjectId);
            Assert.NotNull(z, "1. Zertifikat not found");
            Assert.NotNull(sgn, "1. SGN not found");
            ObjectId moid = z.NDOObjectId;
            ObjectId soid = sgn.NDOObjectId;

            z   = null;
            sgn = null;

            pm.UnloadCache();
            z = (Zertifikat)pm.FindObject(moid);
            Signatur s2 = z.SGN;

            sgn = (Signatur)pm.FindObject(soid);
            Assert.NotNull(z, "2. Zertifikat not found");
            Assert.NotNull(sgn, "2. SGN not found");
            Assert.AreSame(sgn, s2, "SGN should match");
            Assert.AreSame(z, sgn.Owner, "Zertifikat should match");
        }
Beispiel #2
0
        public void CompTestExtentRelatedObjects()
        {
            z.SGN = sgn;
            pm.MakePersistent(z);
            pm.Save();
            IList liste = pm.GetClassExtent(typeof(Zertifikat));

            z = (Zertifikat)liste[0];
            Assert.AreEqual(NDOObjectState.Persistent, z.NDOObjectState, "1: Zertifikat should be persistent");
            Assert.NotNull(z.SGN, "2. Relation is missing");
            Assert.AreEqual(NDOObjectState.Persistent, z.SGN.NDOObjectState, "2.: SGN should be hollow");
            Assert.AreSame(z, sgn.Owner, "2. Backlink wrong");

            pm.UnloadCache();
            liste = pm.GetClassExtent(typeof(Zertifikat));
            z     = (Zertifikat)liste[0];
            Assert.AreEqual(NDOObjectState.Hollow, z.NDOObjectState, "5: Zertifikat should be hollow");
            Assert.NotNull(z.SGN, "6. Relation is missing");
            Assert.AreEqual(NDOObjectState.Hollow, z.SGN.NDOObjectState, "8.: Key should be hollow");
            Assert.That(z != sgn.Owner, "8a. Should be different objects");
            Assert.AreSame(z, z.SGN.Owner, "8b. Zertifikat should match");

            pm.UnloadCache();
            liste = pm.GetClassExtent(typeof(Zertifikat), false);
            z     = (Zertifikat)liste[0];
            Assert.AreEqual(NDOObjectState.Persistent, z.NDOObjectState, "9: Zertifikat should be persistent");
            Assert.NotNull(z.SGN, "10. Relation is missing");
            Assert.AreEqual(NDOObjectState.Hollow, z.SGN.NDOObjectState, "12.: Key should be hollow");
            Assert.That(z != sgn.Owner, "12a. Should be different objects");
            Assert.AreSame(z, z.SGN.Owner, "12b. Zertifikat should match");
        }
Beispiel #3
0
        private Zertifikat CreateZertifikat(int k)
        {
            Zertifikat z = new Zertifikat();

            z.Key = k;
            return(z);
        }
Beispiel #4
0
        public void CompTestHollow()
        {
            z.SGN = sgn;
            pm.MakePersistent(z);
            pm.Save();
            pm.MakeHollow(z);               // setzt z.sgn auf null

            Assert.AreEqual(NDOObjectState.Hollow, z.NDOObjectState, "1: Zertifikat should be hollow");
            Assert.AreEqual(NDOObjectState.Persistent, sgn.NDOObjectState, "1: SGN should be persistent");

            sgn = z.SGN;             // ruft LoadData för z auf. z.svm liegt auf dem Cache und ist Persistent
            Assert.AreEqual(NDOObjectState.Persistent, z.NDOObjectState, "1: Zertifikat should be persistent");
            Assert.AreEqual(NDOObjectState.Persistent, sgn.NDOObjectState, "2: SGN should be persistent");
            ObjectId id = z.NDOObjectId;

            pm.Close();
            pm = PmFactory.NewPersistenceManager();
            z  = (Zertifikat)pm.FindObject(id);
            Assert.NotNull(z, "Zertifikat not found");
            Assert.AreEqual(NDOObjectState.Hollow, z.NDOObjectState, "2: Zertifikat should be hollow");
            sgn = z.SGN;
            Assert.AreEqual(NDOObjectState.Persistent, z.NDOObjectState, "2: Zertifikat should be persistent");
            Assert.NotNull(sgn, "SGN not found");
            Assert.AreEqual(NDOObjectState.Hollow, sgn.NDOObjectState, "1: SGN should be hollow");
            Assert.AreSame(z, sgn.Owner, "2. Backlink wrong");
        }
Beispiel #5
0
 public void Setup()
 {
     pm      = PmFactory.NewPersistenceManager();
     z       = CreateZertifikat(0815);
     sgn     = new Signatur();
     sgn.Key = "Signiert";
 }
Beispiel #6
0
        public void AggrTestReplaceChildSave()
        {
            var pm = PmFactory.NewPersistenceManager();

            pm.MakePersistent(z0);
            pm.MakePersistent(e);
            e.Schlüssel = z0;
            pm.Save();
            Assert.NotNull(e.Schlüssel, "1. Zertifikat not found");
            Zertifikat z2 = new Zertifikat();

            z2.Key = 0815;
            pm.MakePersistent(z2);
            e.Schlüssel = z2;
            Assert.AreEqual(NDOObjectState.PersistentDirty, z0.NDOObjectState, "1. Wrong state");
            Assert.AreEqual(NDOObjectState.Created, z2.NDOObjectState, "2. Wrong state");
            Assert.Null(z0.Adresse, "3. No relation to Email");
            Assert.AreSame(z2.Adresse, e, "4. Email should be same");
            Assert.AreSame(e.Schlüssel, z2, "5. Zertifikat should be same");
            pm.Save();
            Assert.AreEqual(NDOObjectState.Persistent, z0.NDOObjectState, "6. Wrong state");
            Assert.AreEqual(NDOObjectState.Persistent, z2.NDOObjectState, "7. Wrong state");
            Assert.Null(z0.Adresse, "8. No relation to Email");
            Assert.AreSame(z2.Adresse, e, "9. Email should be same");
            Assert.AreSame(e.Schlüssel, z2, "10. Zertifikat should be same");
        }
Beispiel #7
0
        public void AggrTestCreateObjectsSave()
        {
            var pm = PmFactory.NewPersistenceManager();

            pm.MakePersistent(z0);
            e.Schlüssel = z0;
            pm.MakePersistent(e);
            pm.Save();
            Assert.That(!e.NDOObjectId.Equals(e.Schlüssel.NDOObjectId), "Ids should be different");
            e  = (Email)pm.FindObject(e.NDOObjectId);
            z0 = (Zertifikat)pm.FindObject(e.Schlüssel.NDOObjectId);
            Assert.NotNull(e, "1. Email not found");
            Assert.NotNull(z0, "1. Zertifikat not found");
            ObjectId moid = e.NDOObjectId;
            ObjectId soid = z0.NDOObjectId;

            e  = null;
            z0 = null;

            pm.UnloadCache();
            e = (Email)pm.FindObject(moid);
            var z1 = pm.Objects <Zertifikat>().Where(z => z.Oid() == soid.Id.Value).SingleOrDefault();

            Assert.NotNull(z1);
            Zertifikat z2 = e.Schlüssel;

            Assert.AreSame(z1, z2);
            z0 = (Zertifikat)pm.FindObject(soid);
            Assert.NotNull(e, "2. Email not found");
            Assert.NotNull(z0, "2. Zertifikat not found");
            Assert.AreSame(z0, z2, "Zertifikat should match");
            Assert.AreSame(e, z0.Adresse, "Email should match");
        }
Beispiel #8
0
        public void AggrTestHollow()
        {
            var pm = PmFactory.NewPersistenceManager();

            pm.MakePersistent(z0);
            e.Schlüssel = z0;
            pm.MakePersistent(e);
            pm.Save();
            pm.MakeHollow(e);               // setzt e.z auf null

            Assert.AreEqual(NDOObjectState.Hollow, e.NDOObjectState, "1: Email should be hollow");
            Assert.AreEqual(NDOObjectState.Persistent, z0.NDOObjectState, "1: Zertifikat should be persistent");

            z0 = e.Schlüssel;             // ruft LoadData för e auf. e.svm liegt auf dem Cache und ist Persistent
            Assert.AreEqual(NDOObjectState.Persistent, e.NDOObjectState, "1: Email should be persistent");
            Assert.AreEqual(NDOObjectState.Persistent, z0.NDOObjectState, "2: Zertifikat should be persistent");
            ObjectId id = e.NDOObjectId;

            pm.Close();
            pm = PmFactory.NewPersistenceManager();
            e  = (Email)pm.FindObject(id);
            Assert.NotNull(e, "Email not found");
            Assert.AreEqual(NDOObjectState.Hollow, e.NDOObjectState, "2: Email should be hollow");
            z0 = e.Schlüssel;
            Assert.AreEqual(NDOObjectState.Persistent, e.NDOObjectState, "2: Email should be persistent");
            Assert.NotNull(z0, "Zertifikat not found");
            Assert.AreEqual(NDOObjectState.Hollow, z0.NDOObjectState, "1: Zertifikat should be hollow");
            Assert.AreSame(e, z0.Adresse, "2. Backlink wrong");
        }
Beispiel #9
0
 public void Setup()
 {
     count++;
     m       = CreateMitarbeiter("Boris", "Becker");
     svn     = new Sozialversicherungsnummer();
     svn.SVN = 4711;
     e       = new Email("*****@*****.**");
     z0      = new Zertifikat();
     z0.Key  = 42;            // :-)
 }
Beispiel #10
0
 public void CompTestAddObjectSave()
 {
     pm.MakePersistent(z);
     pm.Save();
     z.SGN = sgn;
     Assert.AreEqual(NDOObjectState.Created, sgn.NDOObjectState, "1. Wrong state");
     Assert.AreSame(z, sgn.Owner, "1. Backlink wrong");
     pm.Save();
     z   = (Zertifikat)pm.FindObject(z.NDOObjectId);
     sgn = (Signatur)pm.FindObject(sgn.NDOObjectId);
     Assert.NotNull(z, "1. Zertifikat not found");
     Assert.NotNull(sgn, "1. SGN not found");
     Assert.AreEqual(NDOObjectState.Persistent, sgn.NDOObjectState, "2. Wrong state");
     Assert.AreSame(z, sgn.Owner, "2. Backlink wrong");
 }
Beispiel #11
0
        public void AggrTestAddObjectSave()
        {
            var pm = PmFactory.NewPersistenceManager();

            pm.MakePersistent(z0);
            pm.MakePersistent(e);
            pm.Save();
            e.Schlüssel = z0;
            Assert.AreEqual(NDOObjectState.PersistentDirty, z0.NDOObjectState, "1. Wrong state");
            Assert.AreSame(e, z0.Adresse, "1. Backlink wrong");
            pm.Save();
            e  = (Email)pm.FindObject(e.NDOObjectId);
            z0 = (Zertifikat)pm.FindObject(z0.NDOObjectId);
            Assert.NotNull(e, "1. Email not found");
            Assert.NotNull(z0, "1. Zertifikat not found");
            Assert.AreEqual(NDOObjectState.Persistent, z0.NDOObjectState, "2. Wrong state");
            Assert.AreSame(e, z0.Adresse, "2. Backlink wrong");
        }
Beispiel #12
0
        public void CompTestReplaceParentSave()
        {
            pm.MakePersistent(z);
            z.SGN = sgn;
            pm.Save();
            Assert.NotNull(z.SGN, "1. SGN not found");
            Zertifikat m2     = CreateZertifikat(3345);
            var        thrown = false;

            try
            {
                sgn.Owner = m2;
            }
            catch (NDOException)
            {
                thrown = true;
            }
            Assert.AreEqual(true, thrown);
        }
Beispiel #13
0
        public void CompTestRemoveObjectSave()
        {
            pm.MakePersistent(z);
            z.SGN = sgn;
            pm.Save();
            Assert.NotNull(z.SGN, "1. SGN not found");
            z.SGN = null;
            Assert.AreEqual(NDOObjectState.Deleted, sgn.NDOObjectState, "1. Wrong state");
            Assert.Null(z.SGN, "1. SGN should be null");
            Assert.Null(sgn.Owner, "1. Zertifikat should be null");
            pm.Save();
            Assert.Null(z.SGN, "2. SGN should be null");
            Assert.AreEqual(NDOObjectState.Transient, sgn.NDOObjectState, "2. Wrong state");
            ObjectId moid = z.NDOObjectId;

            pm.UnloadCache();
            z = (Zertifikat)pm.FindObject(moid);
            Assert.NotNull(z, "3. Zertifikat not found");
            Assert.Null(z.SGN, "3. SGN should be null");
        }
Beispiel #14
0
        public void AggrTestMakeAllHollowDelete()
        {
            var pm = PmFactory.NewPersistenceManager();

            pm.MakePersistent(z0);
            e.Schlüssel = z0;
            pm.MakePersistent(e);
            pm.Save();
            pm.MakeAllHollow();
            Assert.AreEqual(NDOObjectState.Hollow, e.NDOObjectState, "1: Email should be hollow");
            Assert.AreEqual(NDOObjectState.Hollow, z0.NDOObjectState, "1: Zertifikat should be hollow");
            Zertifikat zz = e.Schlüssel;              // Das lödt das Objekt, deshalb geht es hier!

            e.Schlüssel = null;
            Assert.AreEqual(NDOObjectState.PersistentDirty, e.NDOObjectState, "2: Email should be persistent dirty");
            Assert.AreEqual(NDOObjectState.PersistentDirty, z0.NDOObjectState, "2: Zertifikat should be persistent dirty");
            Assert.Null(e.Schlüssel, "3. Email should have no Zertifikat");
            Assert.Null(z0.Adresse, "3. Zertifikat should have no Email");
            pm.Delete(e);
        }