private Flughafen CreateFlughafen(string name) { Flughafen f = new Flughafen(); f.Kürzel = name; return(f); }
public void TestAssignRelatedObjectsSave() { pm.MakePersistent(l); for (int i = 0; i < 3; i++) { Flughafen f = CreateFlughafen(i.ToString()); pm.MakePersistent(f); l.AddFlughafen(f); } pm.Save(); IList neueFlughäfen = new ArrayList(); Flughafen nr = CreateFlughafen("Test"); pm.MakePersistent(nr); neueFlughäfen.Add(nr); IList ff = new ArrayList(l.Flughäfen); l.ErsetzeFlughäfen(neueFlughäfen); Assert.AreEqual(1, l.Flughäfen.Count, "1. Wrong number of objects"); for (int i = 0; i < 3; i++) { Assert.AreEqual(NDOObjectState.PersistentDirty, ((Flughafen)ff[i]).NDOObjectState, "2. Wrong state"); } Assert.AreEqual(NDOObjectState.Created, nr.NDOObjectState, "3. Wrong state"); pm.Save(); Assert.AreEqual(1, l.Flughäfen.Count, "4. Wrong number of objects"); for (int i = 0; i < 3; i++) { Assert.AreEqual(NDOObjectState.Persistent, ((Flughafen)ff[i]).NDOObjectState, "5. Wrong state"); } Assert.AreEqual(NDOObjectState.Persistent, nr.NDOObjectState, "6. Wrong state"); }
public void TestAssignRelatedObjectsNullAbort() { pm.MakePersistent(l); for (int i = 0; i < 3; i++) { Flughafen f = CreateFlughafen(i.ToString()); pm.MakePersistent(f); l.AddFlughafen(f); } pm.Save(); IList ff = new ArrayList(l.Flughäfen); l.ErsetzeFlughäfen(null); Assert.Null(l.Flughäfen, "No objects should be there"); for (int i = 0; i < 3; i++) { Assert.AreEqual(NDOObjectState.PersistentDirty, ((Flughafen)ff[i]).NDOObjectState, "2. Wrong state"); } pm.Abort(); Assert.AreEqual(3, l.Flughäfen.Count, "3. Wrong number of objects"); for (int i = 0; i < 3; i++) { Assert.AreEqual(NDOObjectState.Persistent, ((Flughafen)ff[i]).NDOObjectState, "4. Wrong state"); } }
public void TestClearRelatedObjectsAbort() { pm.MakePersistent(l); for (int i = 0; i < 10; i++) { Flughafen f = CreateFlughafen(i.ToString()); pm.MakePersistent(f); l.AddFlughafen(f); } pm.Save(); IList ff = new ArrayList(l.Flughäfen); l.LöscheFlughäfen(); Assert.AreEqual(0, l.Flughäfen.Count, "1. Wrong number of objects"); for (int i = 0; i < 10; i++) { Assert.AreEqual(NDOObjectState.PersistentDirty, ((Flughafen)ff[i]).NDOObjectState, "2. Wrong state"); } pm.Abort(); Assert.AreEqual(10, l.Flughäfen.Count, "3. Wrong number of objects"); for (int i = 0; i < 10; i++) { Assert.AreEqual(NDOObjectState.Persistent, ((Flughafen)ff[i]).NDOObjectState, "4. Wrong state"); } }
public void AbortedDeferredMultiStepTransactionDoesNotCommit() { PersistenceManager pm = new PersistenceManager(); var landCount = LänderCount(pm); var fhCount = FlughafenCount(pm); pm.LogAdapter = new TestLogAdapter(); pm.VerboseMode = true; pm.TransactionMode = TransactionMode.Optimistic; Land land = new Land(); land.Name = "Germany"; pm.MakePersistent(land); pm.Save(true); var flughafen = new Flughafen(); flughafen.Kürzel = "MUC"; pm.MakePersistent(flughafen); land.AddFlughafen(flughafen); pm.Save(true); pm.Abort(); string log = pm.LogAdapter.ToString(); //Assert.That( new Regex( "Creating a new TransactionScope" ).Matches( log ).Count == 1, "One Transactions should be started" ); //Assert.That( log.IndexOf( "Completing" ) == -1, "Transaction should be committed" ); //Assert.That( new Regex( "Rollback transaction" ).Matches( log ).Count == 1, "One Transactions should be rolled back" ); pm.TransactionMode = TransactionMode.None; Assert.AreEqual(landCount, LänderCount(pm)); Assert.AreEqual(fhCount, FlughafenCount(pm)); }
public void TestAddObjectSave() { pm.MakePersistent(l); pm.Save(); pm.MakePersistent(f); l.AddFlughafen(f); Assert.AreEqual(NDOObjectState.Created, f.NDOObjectState, "1. Wrong state"); pm.Save(); l = (Land)pm.FindObject(l.NDOObjectId); f = (Flughafen)pm.FindObject(f.NDOObjectId); Assert.NotNull(l, "1. Land not found"); Assert.NotNull(f, "1. Flughafen not found"); Assert.AreEqual(NDOObjectState.Persistent, f.NDOObjectState, "2. Wrong state"); }
public void TestCreateObjectsSave() { pm.MakePersistent(l); pm.MakePersistent(f); l.AddFlughafen(f); pm.Save(); Assert.That(!l.NDOObjectId.Equals(f.NDOObjectId), "Ids should be different"); l = (Land)pm.FindObject(l.NDOObjectId); f = (Flughafen)pm.FindObject(f.NDOObjectId); Assert.NotNull(l, "1. Land not found"); Assert.NotNull(f, "1. Flughafen not found"); pm.UnloadCache(); l = (Land)pm.FindObject(l.NDOObjectId); f = (Flughafen)pm.FindObject(f.NDOObjectId); Assert.NotNull(l, "2. Land not found"); Assert.NotNull(f, "2. Flughafen not found"); }
public void TestCreateObjects() { pm.MakePersistent(l); pm.MakePersistent(f); if (!pm.HasOwnerCreatedIds) { if (l.NDOObjectId.Id[0] is Int32) { Assert.AreEqual(-1, l.NDOObjectId.Id[0], "Land key wrong"); } if (f.NDOObjectId.Id[0] is Int32) { Assert.AreEqual(-1, f.NDOObjectId.Id[0], "Flughafen key wrong"); } } Assert.That(!l.NDOObjectId.Equals(f.NDOObjectId), "Ids should be different"); l = (Land)pm.FindObject(l.NDOObjectId); f = (Flughafen)pm.FindObject(f.NDOObjectId); }
public void TestRemoveObjectSaveReloadNonHollow() { pm.MakePersistent(l); pm.MakePersistent(f); l.AddFlughafen(f); pm.Save(); pm.UnloadCache(); IQuery q = new NDOQuery <Land>(pm, null, false); l = (Land)q.ExecuteSingle(true); Assert.AreEqual(NDOObjectState.Persistent, l.NDOObjectState, "1. Wrong state"); Assert.AreEqual(1, l.Flughäfen.Count, "1. Wrong number of objects"); f = (Flughafen)l.Flughäfen[0]; l.RemoveFlughafen(f); // f keeps the foreign key - so it get's dirty Assert.AreEqual(NDOObjectState.PersistentDirty, f.NDOObjectState, "2. Wrong state"); Assert.AreEqual(0, l.Flughäfen.Count, "2. Wrong number of objects"); pm.Save(); l = (Land)q.ExecuteSingle(true); pm.UnloadCache(); Assert.AreEqual(0, l.Flughäfen.Count, "3. Wrong number of objects"); }
public void TestAddFlughafen() { pm.MakePersistent(l); pm.MakePersistent(f); l.AddFlughafen(f); pm.Save(); pm.UnloadCache(); IQuery q = new NDOQuery <Land>(pm, null); l = (Land)q.ExecuteSingle(true); Assert.NotNull(l, "Land not found"); Assert.AreEqual(1, l.Flughäfen.Count, "Count wrong"); Flughafen f2 = CreateFlughafen("FRA"); pm.MakePersistent(f2); l.AddFlughafen(f2); pm.VerboseMode = true; pm.Save(); pm.VerboseMode = false; pm.UnloadCache(); l = (Land)q.ExecuteSingle(true); Assert.AreEqual(2, l.Flughäfen.Count, "Count wrong"); }
public void Setup() { pm = PmFactory.NewPersistenceManager(); l = CreateLand("Deutschland"); f = CreateFlughafen("MUC"); }