### Question:
AgendaProgressRequestProcessor extends EndpointDataObjectRequestProcessor<AgendaProgress> { protected void updateAgendaProgressAttemptsOnComplete(AgendaProgress updatedProgress, AgendaProgress originalProgress) { if(updatedProgress != null && originalProgress != null && updatedProgress.getProcessingState() == ProcessingState.COMPLETE && originalProgress.getProcessingState() != ProcessingState.COMPLETE) { int currentAttemptCount = originalProgress.getAttemptsCompleted() == null ? 0 : originalProgress.getAttemptsCompleted(); updatedProgress.setAttemptsCompleted(currentAttemptCount + 1); } } AgendaProgressRequestProcessor(ObjectPersister<AgendaProgress> agendaProgressPersister, ObjectPersister<Agenda> agendaPersister,
        ObjectPersister<OperationProgress> operationProgressPersister); @Override DataObjectResponse<AgendaProgress> handlePOST(DataObjectRequest<AgendaProgress> request); @Override DataObjectResponse<AgendaProgress> handlePUT(DataObjectRequest<AgendaProgress> request); @Override DataObjectResponse<AgendaProgress> handleGET(DataObjectRequest<AgendaProgress> request); @Override DataObjectResponse<AgendaProgress> handleDELETE(DataObjectRequest<AgendaProgress> request); void setOperationProgressClient(OperationProgressRequestProcessor operationProgressClient);  }### Answer:
@Test(dataProvider = "agendaProgressAttemptsProvider") public void testUpdateAgendaProgressAttemptsOnComplete(AgendaProgress updatedProgress, AgendaProgress currentProgress, Integer expectedAttemptsCompleted) { requestProcessor.updateAgendaProgressAttemptsOnComplete(updatedProgress, currentProgress); if(updatedProgress != null) Assert.assertEquals(updatedProgress.getAttemptsCompleted(), expectedAttemptsCompleted); }