Ejemplo n.º 1
0
        public void TestSortedQueryAsc()
        {
            r.AddKostenpunkt(kp);
            DateTime yesterday = DateTime.Today - new TimeSpan(1, 0, 0, 0);

            kp.Datum            = yesterday;
            r.AddKostenpunkt(kp = CreatePkw());
            kp.Datum            = DateTime.Today;
            pm.MakePersistent(r);
            pm.Save();

            pm.UnloadCache();
            IQuery q = new NDOQuery <Kostenpunkt>(pm);

            q.Orderings.Add(new AscendingOrder("datum"));
            NDO.Logging.DebugLogAdapter la = new NDO.Logging.DebugLogAdapter();
            pm.LogAdapter  = la;
            pm.VerboseMode = true;
            IList l = q.Execute();

            pm.VerboseMode = false;
            Assert.AreEqual(2, l.Count, "Count wrong");
            Assert.That(yesterday == ((Kostenpunkt)l[0]).Datum, "Order wrong");
            Assert.That(DateTime.Today == ((Kostenpunkt)l[1]).Datum, "Wrong object");
        }
Ejemplo n.º 2
0
        public void TestAssignRelatedObjectsAbort()
        {
            for (int i = 0; i < 3; i++)
            {
                r.AddKostenpunkt(CreateBeleg(i * 10 + 100));
            }
            pm.MakePersistent(r);
            pm.Save();
            List <Kostenpunkt> neueKostenpunkte = new List <Kostenpunkt>();
            Kostenpunkt        nr = CreateBeleg(200);

            neueKostenpunkte.Add(nr);

            IList rr = r.Kostenpunkte.ToList();

            r.ErsetzeKostenpunkte(neueKostenpunkte);
            Assert.AreEqual(1, r.Kostenpunkte.Count, "1. Wrong number of objects");
            for (int i = 0; i < 3; i++)
            {
                Assert.AreEqual(NDOObjectState.Deleted, ((Kostenpunkt)rr[i]).NDOObjectState, "2. Wrong state");
            }
            Assert.AreEqual(NDOObjectState.Created, nr.NDOObjectState, "3. Wrong state");

            pm.Abort();
            Assert.AreEqual(3, r.Kostenpunkte.Count, "4. Wrong number of objects");
            for (int i = 0; i < 3; i++)
            {
                Assert.AreEqual(NDOObjectState.Persistent, ((Kostenpunkt)rr[i]).NDOObjectState, "5. Wrong state");
            }
            Assert.AreEqual(NDOObjectState.Transient, nr.NDOObjectState, "6. Wrong state");
        }
Ejemplo n.º 3
0
 public void TestAddObjectSave()
 {
     pm.MakePersistent(r);
     pm.Save();
     r.AddKostenpunkt(kp);
     Assert.AreEqual(NDOObjectState.Created, kp.NDOObjectState, "1. Wrong state");
     pm.Save();
     r  = (Reise)pm.FindObject(r.NDOObjectId);
     kp = (Kostenpunkt)pm.FindObject(kp.NDOObjectId);
     Assert.NotNull(r, "1. Reise not found");
     Assert.NotNull(kp, "2. Beleg not found");
     Assert.AreEqual(NDOObjectState.Persistent, kp.NDOObjectState, "3. Wrong state");
     Assert.AreEqual(DateTime.Now.Date, kp.Datum, "Wrong data");
 }
Ejemplo n.º 4
0
        public void TestQueryForSingleObject()
        {
            Kostenpunkt kp2 = CreatePkw(100);

            r.AddKostenpunkt(kp);
            r.AddKostenpunkt(kp2);
            pm.MakePersistent(r);
            pm.Save();
            pm.UnloadCache();
            NDOQuery <Reise> q = new NDOQuery <Reise>(pm, "belege.datum" + " = " + "{0}");

            q.Parameters.Add(DateTime.Now.Date);
            IList l = q.Execute();

            Assert.AreEqual(1, l.Count, "Count wrong");
        }
Ejemplo n.º 5
0
        public void TestSortedQueryDescOneNull()
        {
            r.AddKostenpunkt(kp);
            kp.Datum            = DateTime.MinValue;
            r.AddKostenpunkt(kp = CreatePkw());
            kp.Datum            = DateTime.Today;
            pm.MakePersistent(r);
            pm.Save();

            pm.UnloadCache();
            IQuery q = new NDOQuery <Kostenpunkt>(pm);

            q.Orderings.Add(new DescendingOrder("datum"));
            IList l = q.Execute();

            //pm.VerboseMode = false;
            Assert.AreEqual(2, l.Count, "Count wrong");
            Assert.That(DateTime.Today == ((Kostenpunkt)l[0]).Datum, "Order wrong");
            Assert.That(DateTime.MinValue == ((Kostenpunkt)l[1]).Datum, "Wrong object");
        }
Ejemplo n.º 6
0
        public void TestLoadRelatedObjects()
        {
            for (int i = 0; i < 10; i++)
            {
                r.AddKostenpunkt(CreateBeleg(i * 10 + 100));
            }
            pm.MakePersistent(r);
            pm.Save();
            pm.MakeHollow(r, true);

            var kpunkte = r.Kostenpunkte.ToList();

            Assert.AreEqual(10, kpunkte.Count, "Array size should be 10");

            for (int i = 0; i < 10; i++)
            {
                Kostenpunkt rr = (Kostenpunkt)kpunkte[i];
                Assert.AreEqual(NDOObjectState.Hollow, rr.NDOObjectState, "1: Kostenpunkt should be hollow");
#if !ORACLE && !MYSQL && !FIREBIRD
                Assert.AreEqual(i * 10 + 100, rr.Kosten, "2: Kostenpunkt should be in right order");
#endif
            }


            pm.MakeAllHollow();
            pm.UnloadCache();
            var kpunkte2 = r.Kostenpunkte.ToList();
            for (int i = 0; i < 10; i++)
            {
                Kostenpunkt r1 = (Kostenpunkt)kpunkte[i];
                Kostenpunkt r2 = (Kostenpunkt)kpunkte2[i];
#if !ORACLE && !MYSQL && !FIREBIRD
                Assert.AreEqual(i * 10 + 100, r1.Kosten, "3: Kostenpunkt should be in right order");
#endif
                Assert.That(r1 != r2, "Objects should be different");
            }
        }
Ejemplo n.º 7
0
 public void Setup()
 {
     pm = PmFactory.NewPersistenceManager();
     r  = CreateReise("ADC");
     kp = CreateBeleg();
 }