public void Test_GetDirtyChildren_ReturnAllDirty() { //---------------Set up test pack------------------- OrganisationTestBO organisationTestBO = OrganisationTestBO.CreateSavedOrganisation(); BusinessObjectCollection <ContactPersonTestBO> cpCol; MultipleRelationship <ContactPersonTestBO> relationship = GetAggregationRelationship(organisationTestBO, out cpCol); ContactPersonTestBO myBO_delete = ContactPersonTestBO.CreateSavedContactPerson_AsChild(cpCol); cpCol.MarkForDelete(myBO_delete); ContactPersonTestBO myBO_Edited = ContactPersonTestBO.CreateSavedContactPerson_AsChild(cpCol); myBO_Edited.Surname = TestUtil.GetRandomString(); ContactPersonTestBO myBo_Created = ContactPersonTestBO.CreateUnsavedContactPerson_AsChild(cpCol); ContactPersonTestBO myBo_Removed = ContactPersonTestBO.CreateSavedContactPerson_AsChild(cpCol); cpCol.Remove(myBo_Removed); //---------------Execute Test ---------------------- IList <ContactPersonTestBO> dirtyChildren = relationship.GetDirtyChildren(); //---------------Test Result ----------------------- Assert.Contains(myBO_delete, (ICollection)dirtyChildren); Assert.Contains(myBO_Edited, (ICollection)dirtyChildren); Assert.Contains(myBo_Created, (ICollection)dirtyChildren); Assert.Contains(myBo_Removed, (ICollection)dirtyChildren); Assert.AreEqual(4, dirtyChildren.Count); }