public void TestRemoveRelatedObject_AsBusinessObjectCollection() { //-----Create Test pack--------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); AddressTestBO address = contactPersonTestBO.Addresses.CreateBusinessObject(); address.Save(); //-------Assert Precondition ------------------------------------ Assert.AreEqual(1, contactPersonTestBO.Addresses.Count); //-----Run tests---------------------------- BusinessObjectCollection <AddressTestBO> addresses = contactPersonTestBO.Addresses; addresses.Remove(address); ////-----Test results------------------------- Assert.AreEqual(1, addresses.RemovedBusinessObjects.Count); Assert.AreEqual(0, addresses.Count); Assert.IsNull(address.ContactPersonID); Assert.IsNull(address.ContactPersonTestBO); // Assert.IsTrue(address.Status.IsDeleted); Assert.AreEqual(1, addresses.PersistedBusinessObjects.Count); }
public void Test_AddNewObject_AddsObjectToCollection_SetsUpForeignKey() { //---------------Set up test pack------------------- //The Foreign Key (address.ContactPersonId) should be set up to be // equal to the contactPerson.ContactPersonID //SetupTests ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = new ContactPersonTestBO(); //Run tests AddressTestBO address = new AddressTestBO(); //---------------Assert Precondition---------------- Assert.AreEqual(0, contactPersonTestBO.Addresses.CreatedBusinessObjects.Count); Assert.AreEqual(0, contactPersonTestBO.Addresses.Count); Assert.AreEqual(0, contactPersonTestBO.Addresses.PersistedBusinessObjects.Count); //---------------Execute Test ---------------------- contactPersonTestBO.Addresses.Add(address); //---------------Test Result ----------------------- Assert.AreEqual(1, contactPersonTestBO.Addresses.CreatedBusinessObjects.Count); Assert.AreEqual(0, contactPersonTestBO.Addresses.AddedBusinessObjects.Count); Assert.AreEqual(1, contactPersonTestBO.Addresses.Count); Assert.AreEqual(0, contactPersonTestBO.Addresses.PersistedBusinessObjects.Count); Assert.AreEqual(contactPersonTestBO.ContactPersonID, address.ContactPersonID); }
public void Test_CreateBusinessObject_ForeignKeySetUp_BeforeAddedEventFired() { //---------------Set up test pack------------------- //The Foreign Key (address.ContactPersonId) should be set up to be // equal to the contactPerson.ContactPersonID before he Added event fires. ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = new ContactPersonTestBO(); RelatedBusinessObjectCollection <AddressTestBO> addresses = contactPersonTestBO.Addresses; AddressTestBO addressFromEvent = null; Guid? addressContactPersonIDFromEvent = null; addresses.BusinessObjectAdded += delegate(object sender, BOEventArgs <AddressTestBO> e) { addressFromEvent = e.BusinessObject; addressContactPersonIDFromEvent = addressFromEvent.ContactPersonID; }; //---------------Assert Precondition---------------- Assert.IsNull(addressFromEvent); Assert.IsNull(addressContactPersonIDFromEvent); //---------------Execute Test ---------------------- AddressTestBO address = addresses.CreateBusinessObject(); //---------------Test Result ----------------------- Assert.IsNotNull(addressFromEvent); Assert.IsNotNull(addressContactPersonIDFromEvent, "Adress.ContactPersonID should have been set before the Added event was called"); Assert.AreEqual(contactPersonTestBO.ContactPersonID, addressContactPersonIDFromEvent); Assert.AreSame(address, addressFromEvent); Assert.AreEqual(contactPersonTestBO.ContactPersonID, address.ContactPersonID); Assert.IsTrue(address.Status.IsNew); Assert.AreEqual(1, addresses.CreatedBusinessObjects.Count); }
public override void Test_ApplyChangesToBusinessObject_WhenNewItemIsSelected_WhenSet_WhenRelationshipIsLevelsDeep_ShouldUpdateRelatedBusinessObjectWithSelectedValue() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithOrganisationAndAddressRelationships(); OrganisationTestBO.LoadDefaultClassDef(); AddressTestBO.LoadDefaultClassDef(); const string relationshipName = "ContactPersonTestBO.Organisation"; var mapper = GetMapperBoColHasOneItem(relationshipName); var cmbox = mapper.Control; var boCol = (BusinessObjectCollection <OrganisationTestBO>)mapper.BusinessObjectCollection; var person = new ContactPersonTestBO { Organisation = boCol[0] }; var addressTestBO = new AddressTestBO { ContactPersonTestBO = person }; var newOrganisation = new OrganisationTestBO(); newOrganisation.Save(); mapper.BusinessObject = addressTestBO; //---------------Assert Precondition---------------- Assert.AreSame(addressTestBO, mapper.BusinessObject); Assert.AreSame(person.Organisation, cmbox.SelectedItem); Assert.AreNotSame(person.Organisation, newOrganisation); //---------------Execute Test ---------------------- cmbox.SelectedItem = newOrganisation; Assert.AreSame(newOrganisation, cmbox.SelectedItem, "Selected Item should be set."); mapper.ApplyChangesToBusinessObject(); //---------------Test Result ----------------------- Assert.AreSame(newOrganisation, cmbox.SelectedItem); Assert.AreSame(newOrganisation, person.Organisation); }
public void TestGetRelatedBusinessObjectCollection_SortOrder_ChangeOrder() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_SortOrder_AddressLine1(); ContactPersonTestBO cp = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); AddressTestBO address1 = new AddressTestBO(); address1.ContactPersonID = cp.ContactPersonID; address1.AddressLine1 = "ffff"; address1.Save(); AddressTestBO address2 = new AddressTestBO(); address2.ContactPersonID = cp.ContactPersonID; address2.AddressLine1 = "bbbb"; address2.Save(); //---------------Assert PreConditions--------------- RelatedBusinessObjectCollection <AddressTestBO> addresses = cp.Addresses; Assert.AreEqual(2, addresses.Count); Assert.AreSame(address1, addresses[1]); Assert.AreSame(address2, addresses[0]); //---------------Execute Test ---------------------- address2.AddressLine1 = "zzzzz"; address2.Save(); RelatedBusinessObjectCollection <AddressTestBO> addressesAfterChangeOrder = cp.Addresses; //---------------Test Result ----------------------- Assert.AreSame(address1, addressesAfterChangeOrder[0]); Assert.AreSame(address2, addressesAfterChangeOrder[1]); }
private ContactPersonTestBO CreateContactPersonWithAddress() { var cp1 = CreateContactPerson(); var add = new AddressTestBO(); add.ContactPersonTestBO = cp1; add.Save(); return(cp1); }
public void Test_TestCreatedChildBO_ParentSet() { //Test that the parent business object is set for a // child bo that is created by the collection //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BORegistry.DataAccessor = new DataAccessorInMemory(); ContactPersonTestBO.LoadClassDefWithAddresBOsRelationship_AddressReverseRelationshipConfigured(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- AddressTestBO address = contactPersonTestBO.AddressTestBOs.CreateBusinessObject(); //---------------Test Result ----------------------- Assert.IsNotNull(address.ContactPersonTestBO); Assert.IsNotNull(address.ContactPersonID); }
public void Test_TestAddNewChildBO_ParentNotPersisted_ParentSet() { //Test that the parent business object is set for a // child bo that is created by the collection //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BORegistry.DataAccessor = new DataAccessorInMemory(); ContactPersonTestBO.LoadClassDefWithAddresBOsRelationship_AddressReverseRelationshipConfigured(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateUnsavedContactPerson(TestUtil.GetRandomString(), TestUtil.GetRandomString()); AddressTestBO address = new AddressTestBO(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- contactPersonTestBO.AddressTestBOs.Add(address); //---------------Test Result ----------------------- Assert.IsNotNull(address.ContactPersonID); Assert.IsNotNull(address.ContactPersonTestBO); }
public void Test_CreateBusinessObject_ForeignKeySetUp() { //---------------Set up test pack------------------- //The Foreign Key (address.ContactPersonId) should be set up to be // equal to the contactPerson.ContactPersonID //---------------Assert Precondition---------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = new ContactPersonTestBO(); //MultipleRelationship rel = (MultipleRelationship)bo.Relationships["MyMultipleRelationship"]; //RelatedBusinessObjectCollection<MyRelatedBo> col = new RelatedBusinessObjectCollection<MyRelatedBo>(rel); //---------------Execute Test ---------------------- AddressTestBO address = contactPersonTestBO.Addresses.CreateBusinessObject(); //---------------Test Result ----------------------- Assert.AreEqual(contactPersonTestBO.ContactPersonID, address.ContactPersonID); Assert.IsTrue(address.Status.IsNew); Assert.AreEqual(1, contactPersonTestBO.Addresses.CreatedBusinessObjects.Count); }
public void TestRemoveRelatedObject_SetsRemovedBO() { //-----Create Test pack--------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); RelatedBusinessObjectCollection <AddressTestBO> addresses1 = contactPersonTestBO.Addresses; AddressTestBO address = addresses1.CreateBusinessObject(); address.Save(); //-----Run tests---------------------------- RelatedBusinessObjectCollection <AddressTestBO> addresses = addresses1; addresses.Remove(address); ////-----Test results------------------------- Assert.AreSame(contactPersonTestBO, address.Relationships.GetSingle <ContactPersonTestBO>("ContactPersonTestBO").RemovedBO); }
public void Test_AutoLoadingMapper_WhenConstructNormally_ShouldSetupCollection() { //---------------Set up test pack------------------- var cmbox = _controlFactory.CreateComboBox(); var controlMapper = GetMapper(cmbox, "ContactPersonTestBO"); var person1 = ContactPersonTestBO.CreateSavedContactPerson(); var person2 = ContactPersonTestBO.CreateSavedContactPerson(); var addressTestBo = new AddressTestBO(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- controlMapper.BusinessObject = addressTestBo; //---------------Test Result ----------------------- Assert.AreEqual(3, cmbox.Items.Count); Assert.IsTrue(cmbox.Items.Contains(person1)); Assert.IsTrue(cmbox.Items.Contains(person2)); }
public void Test_AutoLoadingMapper_WhenCreateFromControlMapper_ShouldSetupCollection() { //---------------Set up test pack------------------- var cmbox = _controlFactory.CreateComboBox(); var controlMapper = ControlMapper.Create ("AutoLoadingRelationshipComboBoxMapper", "Habanero.Faces.Base", cmbox, "ContactPersonTestBO", false, GetControlFactory()); var person1 = ContactPersonTestBO.CreateSavedContactPerson(); var person2 = ContactPersonTestBO.CreateSavedContactPerson(); var addressTestBo = new AddressTestBO(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- controlMapper.BusinessObject = addressTestBo; //---------------Test Result ----------------------- Assert.AreEqual(3, cmbox.Items.Count); Assert.IsTrue(cmbox.Items.Contains(person1)); Assert.IsTrue(cmbox.Items.Contains(person2)); }
public void Test_TestGetReverseRelationship() { //This is probably a temporary test as this method is hacked together due // to the fact that reverse relationships are not currently defined In Habanero. //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BORegistry.DataAccessor = new DataAccessorInMemory(); ContactPersonTestBO.LoadClassDefWithAddresBOsRelationship_AddressReverseRelationshipConfigured(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateUnsavedContactPerson(TestUtil.GetRandomString(), TestUtil.GetRandomString()); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- AddressTestBO address = contactPersonTestBO.AddressTestBOs.CreateBusinessObject(); //---------------Test Result ----------------------- IRelationship relationship = contactPersonTestBO.AddressTestBOs.GetReverseRelationship(address); Assert.IsNotNull(relationship); Assert.AreSame(address.Relationships["ContactPersonTestBO"], relationship); }
public void Test_CreateBusinessObject_ForeignKeySetUp_PropertyUpdatedEventNotFired() { //---------------Set up test pack------------------- //The Foreign Key (address.ContactPersonId) should be set up to be // equal to the contactPerson.ContactPersonID before he Added event fires. ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = new ContactPersonTestBO(); RelatedBusinessObjectCollection <AddressTestBO> addresses = contactPersonTestBO.Addresses; bool propetyUpdatedEventFired = false; addresses.BusinessObjectPropertyUpdated += delegate { propetyUpdatedEventFired = true; }; //---------------Assert Precondition---------------- Assert.IsFalse(propetyUpdatedEventFired); Assert.AreEqual(0, addresses.CreatedBusinessObjects.Count); //---------------Execute Test ---------------------- AddressTestBO address = addresses.CreateBusinessObject(); //---------------Test Result ----------------------- Assert.IsFalse(propetyUpdatedEventFired); Assert.AreEqual(1, addresses.CreatedBusinessObjects.Count); }
public void ShouldGetValuesFromRelatedObjects_WhenFieldsAreFromOtherClasses() { //---------------Set up test pack------------------- ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); var addClassDef = AddressTestBO.LoadDefaultClassDef(); var cp1 = CreateContactPersonWithAddress(); var selectQuery = QueryBuilder.CreateSelectQuery(addClassDef); selectQuery.Fields.Clear(); const string propertyName = "ContactPersonTestBO.Surname"; selectQuery.Fields.Add(propertyName, QueryBuilder.CreateQueryField(addClassDef, propertyName)); //---------------Execute Test ---------------------- var resultSet = _queryResultLoader.GetResultSet(selectQuery); //---------------Test Result ----------------------- var fields = resultSet.Fields.ToList(); var rows = resultSet.Rows.ToList(); Assert.AreEqual(1, fields.Count); Assert.AreEqual(1, rows.Count); Assert.AreEqual(propertyName, fields[0].PropertyName); Assert.AreEqual(cp1.Surname, rows[0].RawValues[0]); }
private ContactPersonTestBO CreateContactPersonWithAddress() { var cp1 = CreateContactPerson(); var add = new AddressTestBO(); add.ContactPersonTestBO = cp1; add.Save(); return cp1; }
public void Test_CreateBusinessObject_AlternateClassDef() { //---------------Set up test pack------------------- AddressTestBO addressTestBO = new AddressTestBO(); ClassDef classDef = addressTestBO.ClassDef; ClassDef alternateClassDef = classDef.Clone(); alternateClassDef.TypeParameter = TestUtil.GetRandomString(); BusinessObjectCollection<AddressTestBO> addressCol = new BusinessObjectCollection<AddressTestBO> {ClassDef = alternateClassDef}; //---------------Execute Test ---------------------- //this should work because AddressTestBO has a constructor that takes a ClassDef as parameter AddressTestBO newCP = addressCol.CreateBusinessObject(); //---------------Test Result ----------------------- Assert.AreEqual(alternateClassDef, newCP.ClassDef); }
public void TestGetRelatedBusinessObjectCollection_SortOrder_ChangeOrder() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_SortOrder_AddressLine1(); ContactPersonTestBO cp = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); AddressTestBO address1 = new AddressTestBO(); address1.ContactPersonID = cp.ContactPersonID; address1.AddressLine1 = "ffff"; address1.Save(); AddressTestBO address2 = new AddressTestBO(); address2.ContactPersonID = cp.ContactPersonID; address2.AddressLine1 = "bbbb"; address2.Save(); //---------------Assert PreConditions--------------- RelatedBusinessObjectCollection<AddressTestBO> addresses = cp.Addresses; Assert.AreEqual(2, addresses.Count); Assert.AreSame(address1, addresses[1]); Assert.AreSame(address2, addresses[0]); //---------------Execute Test ---------------------- address2.AddressLine1 = "zzzzz"; address2.Save(); RelatedBusinessObjectCollection<AddressTestBO> addressesAfterChangeOrder = cp.Addresses; //---------------Test Result ----------------------- Assert.AreSame(address1, addressesAfterChangeOrder[0]); Assert.AreSame(address2, addressesAfterChangeOrder[1]); }