### Question:
UpdateAgendaProgressServiceRequestProcessor extends AbstractServiceRequestProcessor<UpdateAgendaProgressResponse, ServiceRequest<UpdateAgendaProgressRequest>> { static AgendaProgress generateUpdatedAgendaProgress(String cid, AgendaProgress currentProgress, AgendaProgress updatedProgress) { AgendaProgress generatedProgress = new AgendaProgress(); generatedProgress.setId(currentProgress.getId()); generatedProgress.setCustomerId(currentProgress.getCustomerId()); generatedProgress.setPercentComplete(updatedProgress.getPercentComplete()); generatedProgress.setDiagnosticEvents(updatedProgress.getDiagnosticEvents()); generatedProgress.setOperationProgress(updatedProgress.getOperationProgress()); generatedProgress.setProcessingStateMessage(updatedProgress.getProcessingStateMessage()); generatedProgress.setProcessingState(updatedProgress.getProcessingState()); generatedProgress.setStartedTime(updatedProgress.getStartedTime()); generatedProgress.setCompletedTime(updatedProgress.getCompletedTime()); generatedProgress.setCid(cid); return generatedProgress; } UpdateAgendaProgressServiceRequestProcessor(
        ObjectPersister<AgendaProgress> agendaProgressPersister,
        ObjectPersister<Agenda> agendaPersister,
        ObjectPersister<OperationProgress> operationProgressPersister,
        ObjectPersister<Insight> insightObjectPersister); @Override UpdateAgendaProgressResponse processPOST(ServiceRequest<UpdateAgendaProgressRequest> request);  }### Answer:
@Test public void testGenerateUpdatedAgendaProgress() { final String ID = "theId"; final Double PERCENT = 43d; final DiagnosticEvent[] DIAGNOSTICS = new DiagnosticEvent[]{new DiagnosticEvent()}; final OperationProgress[] OP_PROGRESS = new OperationProgress[]{new OperationProgress()}; final String PROCESSING_STATE_MESSAGE = "theMessage"; final ProcessingState PROCESSING_STATE = ProcessingState.EXECUTING; final Date STARTED = new Date(0); final Date COMPLETED = new Date(1000); AgendaProgress existingProgress = new AgendaProgress(); existingProgress.setId(ID); AgendaProgress updatedProgress = new AgendaProgress(); updatedProgress.setPercentComplete(PERCENT); updatedProgress.setDiagnosticEvents(DIAGNOSTICS); updatedProgress.setOperationProgress(OP_PROGRESS); updatedProgress.setProcessingStateMessage(PROCESSING_STATE_MESSAGE); updatedProgress.setProcessingState(PROCESSING_STATE); updatedProgress.setStartedTime(STARTED); updatedProgress.setCompletedTime(COMPLETED); AgendaProgress generatedProgress = UpdateAgendaProgressServiceRequestProcessor.generateUpdatedAgendaProgress("cid", existingProgress, updatedProgress); Assert.assertEquals(generatedProgress.getId(), ID); Assert.assertEquals(generatedProgress.getPercentComplete(), PERCENT); Assert.assertEquals(generatedProgress.getDiagnosticEvents(), DIAGNOSTICS); Assert.assertEquals(generatedProgress.getOperationProgress(), OP_PROGRESS); Assert.assertEquals(generatedProgress.getProcessingStateMessage(), PROCESSING_STATE_MESSAGE); Assert.assertEquals(generatedProgress.getProcessingState(), PROCESSING_STATE); Assert.assertEquals(generatedProgress.getStartedTime(), STARTED); Assert.assertEquals(generatedProgress.getCompletedTime(), COMPLETED); }