public void Test_IsDeletable_WhenSingle_WhenDeleteAction_EQ_PreventDelete_WhenHasRelated_ShouldBeFalse() { //---------------Set up test pack------------------- BORegistry.DataAccessor = new DataAccessorInMemory(); ClassDef.ClassDefs.Clear(); IClassDef classDef = MyBO.LoadClassDefWithRelationship(); MyRelatedBo.LoadClassDef(); MyBO bo = (MyBO)classDef.CreateNewBusinessObject(); bo.Save(); SingleRelationship <MyRelatedBo> relationship = (SingleRelationship <MyRelatedBo>)bo.Relationships["MyRelationship"]; relationship.SetRelatedObject(new MyRelatedBo()); //---------------Assert Precondition---------------- Assert.IsFalse(bo.Status.IsDeleted); Assert.IsNotNull(relationship.GetRelatedObject()); Assert.AreEqual(DeleteParentAction.Prevent, relationship.DeleteParentAction); //---------------Execute Test ---------------------- string message; bool isDeletable = relationship.IsDeletable(out message); //---------------Test Result ----------------------- Assert.IsFalse(isDeletable); }
public void Test_SetChild_AggregateDoesNotOwnForeignKey_NewChild() { //A new Heart can be set as the heart of a person. This is allowed in Habanero for flexibility, but // it is rather recommended that the Person creates the Heart. //---------------Set up test pack------------------- OrganisationTestBO organisationTestBO = OrganisationTestBO.CreateSavedOrganisation(); ContactPersonTestBO contactPerson = ContactPersonTestBO.CreateUnsavedContactPerson(); SingleRelationship <OrganisationTestBO> relationship = GetAggregationRelationshipOrganisation(contactPerson, "Organisation"); //---------------Execute Test ---------------------- relationship.SetRelatedObject(organisationTestBO); //---------------Test Result ----------------------- Assert.AreSame(organisationTestBO, relationship.GetRelatedObject()); }
public void Test_SetChild_NewChild() { //A new ContactPerson can be set as the contact person of an organisation. //---------------Set up test pack------------------- OrganisationTestBO organisationTestBO = OrganisationTestBO.CreateSavedOrganisation(); SingleRelationship <ContactPersonTestBO> relationship = GetAssociationRelationship(organisationTestBO); ContactPersonTestBO contactPerson = ContactPersonTestBO.CreateUnsavedContactPerson(); //---------------Execute Test ---------------------- relationship.SetRelatedObject(contactPerson); //---------------Test Result ----------------------- Assert.AreSame(contactPerson, relationship.GetRelatedObject()); }
public void Test_SetChild_PersistedChild() { //An already persisted Heart can be set as the heart of a person (since you can transplant hearts) //---------------Set up test pack------------------- OrganisationTestBO organisationTestBO = OrganisationTestBO.CreateSavedOrganisation(); SingleRelationship <ContactPersonTestBO> relationship = GetAggregationRelationshipContactPerson(organisationTestBO, "ContactPerson"); ContactPersonTestBO contactPerson = ContactPersonTestBO.CreateSavedContactPerson(); //---------------Execute Test ---------------------- relationship.SetRelatedObject(contactPerson); //---------------Test Result ----------------------- Assert.AreSame(contactPerson, relationship.GetRelatedObject()); }