public void TestCheckForDuplicate() { DataStoreInMemory dataStore = new DataStoreInMemory(); BORegistry.DataAccessor = new DataAccessorInMemory(dataStore); ContactPersonTestBO.LoadClassDefWithCompositeAlternateKey(); ContactPersonTestBO contactPerson = GetSavedContactPerson(dataStore); ContactPersonTestBO duplicateContactPerson = new ContactPersonTestBO(); duplicateContactPerson.Surname = contactPerson.Surname; duplicateContactPerson.FirstName = contactPerson.FirstName; TransactionCommitterInMemory committer = new TransactionCommitterInMemory(dataStore); committer.AddBusinessObject(duplicateContactPerson); //---------------Execute Test ---------------------- try { committer.CommitTransaction(); Assert.Fail("Commit should have failed due to duplicate key violation"); } //---------------Test Result ----------------------- catch (BusObjDuplicateConcurrencyControlException ex) { StringAssert.Contains("Surname", ex.Message); StringAssert.Contains("FirstName", ex.Message); } }