### Question:
SourceDocumentReferenceProcessingProfileDaoImpl implements SourceDocumentReferenceProcessingProfileDao { @Override public boolean update (SourceDocumentReferenceProcessingProfile sourceDocumentReferenceProcessingProfile, WriteConcern writeConcern) { if (null != read(sourceDocumentReferenceProcessingProfile.getId())) { datastore.save(sourceDocumentReferenceProcessingProfile, writeConcern); return true; } return false; } SourceDocumentReferenceProcessingProfileDaoImpl(Datastore datastore); @Override Long getCount(); @Override boolean create(SourceDocumentReferenceProcessingProfile sourceDocumentReferenceProcessingProfile,
                           WriteConcern writeConcern); @Override void createOrModify(SourceDocumentReferenceProcessingProfile sourceDocumentReferenceProcessingProfile,
                                WriteConcern writeConcern); @Override Iterable<Key<SourceDocumentReferenceProcessingProfile>> createOrModify(Collection<SourceDocumentReferenceProcessingProfile> sourceDocumentReferenceProcessingProfiles,
                                                                                   WriteConcern writeConcern); @Override SourceDocumentReferenceProcessingProfile read(String id); @Override List<SourceDocumentReferenceProcessingProfile> read(List<String> ids); @Override boolean update(SourceDocumentReferenceProcessingProfile sourceDocumentReferenceProcessingProfile,
                           WriteConcern writeConcern); @Override WriteResult delete(String id); @Override List<SourceDocumentReferenceProcessingProfile> findByRecordID(String recordID); @Override List<SourceDocumentReferenceProcessingProfile> getJobToBeEvaluated(); @Override List<SourceDocumentReferenceProcessingProfile> deactivateDocuments(ReferenceOwner owner, WriteConcern concern);  }### Answer:
@Test public void testUpdate() throws Exception { final SourceDocumentReferenceProcessingProfile profile = new SourceDocumentReferenceProcessingProfile(true, new ReferenceOwner("1", "1", "1"), "1", URLSourceType.HASVIEW, DocumentReferenceTaskType.CHECK_LINK, 0, null, 0); assertFalse(processingProfileDao.update(profile, WriteConcern.NONE)); processingProfileDao.createOrModify(profile, WriteConcern.NONE); final SourceDocumentReferenceProcessingProfile newProfile = new SourceDocumentReferenceProcessingProfile(profile.getId(), false, profile.getReferenceOwner(), "1", URLSourceType.HASVIEW, DocumentReferenceTaskType.CHECK_LINK, 0, null, 0); assertTrue(processingProfileDao.update(newProfile, WriteConcern.ACKNOWLEDGED)); ReflectionAssert.assertReflectionEquals(newProfile, processingProfileDao.read(profile.getId())); }