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);
            }
        }