public void TestRemoveRelatedObject_PersistColToDataStore_usingRelationshipRefreshing() { //-----Create Test pack--------------------- ClassDef.ClassDefs.Clear(); AddressTestBO address; BORegistry.DataAccessor = new DataAccessorInMemory(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateContactPersonWithOneAddress_CascadeDelete(out address, TestUtil.GetRandomString()); //-----Assert Precondition------------------ Assert.AreEqual(0, contactPersonTestBO.Addresses.RemovedBusinessObjects.Count); Assert.AreEqual(1, contactPersonTestBO.Addresses.Count); //-----Run tests---------------------------- //Run tests BusinessObjectCollection <AddressTestBO> addresses = contactPersonTestBO.Addresses; addresses.Remove(address); addresses.SaveAll(); ////-----Test results------------------------- Assert.IsFalse(address.Status.IsDirty); Assert.AreEqual(0, contactPersonTestBO.Addresses.RemovedBusinessObjects.Count); Assert.AreEqual(0, contactPersonTestBO.Addresses.Count); Assert.AreEqual(0, contactPersonTestBO.Addresses.PersistedBusinessObjects.Count); }
public void TestDeleteRelated() { //---------------Set up test pack------------------- DataStoreInMemory dataStore = new DataStoreInMemory(); BORegistry.DataAccessor = new DataAccessorInMemory(dataStore); AddressTestBO address; ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateContactPersonWithOneAddress_CascadeDelete(out address, TestUtil.GetRandomString()); contactPersonTestBO.MarkForDelete(); TransactionCommitterInMemory committer = new TransactionCommitterInMemory(dataStore); committer.AddBusinessObject(contactPersonTestBO); //---------------Execute Test ---------------------- committer.CommitTransaction(); //---------------Test Result ----------------------- AssertBOStateIsValidAfterDelete(contactPersonTestBO); AssertBOStateIsValidAfterDelete(address); AssertBusinessObjectNotInDataStore(contactPersonTestBO); AssertBusinessObjectNotInDataStore(address); }
public void Test3LayerLoadRelated() { //---------------Set up test pack------------------- BusinessObjectManager.Instance.ClearLoadedObjects(); ContactPersonTestBO.DeleteAllContactPeople(); BORegistry.DataAccessor = new DataAccessorDB(); OrganisationTestBO.LoadDefaultClassDef(); TestUtil.WaitForGC(); Address address; ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateContactPersonWithOneAddress_CascadeDelete(out address); OrganisationTestBO org = new OrganisationTestBO(); contactPersonTestBO.SetPropertyValue("OrganisationID", org.OrganisationID); org.Save(); contactPersonTestBO.Save(); //---------------Assert Preconditions -------------- Assert.AreEqual(3, BusinessObjectManager.Instance.Count); //---------------Execute Test ---------------------- IBusinessObjectCollection colContactPeople = org.Relationships["ContactPeople"].GetRelatedBusinessObjectCol(); ContactPersonTestBO loadedCP = (ContactPersonTestBO)colContactPeople[0]; IBusinessObjectCollection colAddresses = loadedCP.Relationships["Addresses"].GetRelatedBusinessObjectCol(); Address loadedAdddress = (Address)colAddresses[0]; //---------------Test Result ----------------------- Assert.AreEqual(3, BusinessObjectManager.Instance.Count); Assert.AreEqual(1, colAddresses.Count); Assert.AreSame(contactPersonTestBO, loadedCP); Assert.AreSame(address, loadedAdddress); }
public void TestRemoveAddress_AlreadyInRemoveCollection_usingRelationship() { //-----Create Test pack--------------------- ClassDef.ClassDefs.Clear(); AddressTestBO address; ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateContactPersonWithOneAddress_CascadeDelete(out address, TestUtil.GetRandomString()); //-----Run tests---------------------------- contactPersonTestBO.Addresses.Remove(address); contactPersonTestBO.Addresses.Remove(address); //-----Test results------------------------- Assert.AreEqual(1, contactPersonTestBO.Addresses.RemovedBusinessObjects.Count); }
public void Test_LoaderRefresh_ShouldSetDateTimeLastLoaded() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); AddressTestBO address; ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateContactPersonWithOneAddress_CascadeDelete(out address, TestUtil.GetRandomString()); RelatedBusinessObjectCollection <AddressTestBO> col = new RelatedBusinessObjectCollection <AddressTestBO>(contactPersonTestBO.Relationships["Addresses"]); //---------------Assert Precondition---------------- Assert.IsNull(col.TimeLastLoaded); //---------------Execute Test ---------------------- BORegistry.DataAccessor.BusinessObjectLoader.Refresh(col); //---------------Test Result ----------------------- Assert.IsNotNull(col.TimeLastLoaded); }
public void Test_SetTimeLastLoaded_ShouldSetTimeLastLoaded() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); AddressTestBO address; ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateContactPersonWithOneAddress_CascadeDelete(out address, TestUtil.GetRandomString()); RelatedBusinessObjectCollection <AddressTestBO> col = new RelatedBusinessObjectCollection <AddressTestBO>(contactPersonTestBO.Relationships["Addresses"]); //---------------Assert Precondition---------------- Assert.IsNull(col.TimeLastLoaded); //---------------Execute Test ---------------------- DateTime expectedLastLoaded = DateTime.Now; col.TimeLastLoaded = expectedLastLoaded; //---------------Test Result ----------------------- Assert.AreEqual(expectedLastLoaded, col.TimeLastLoaded); }