@Test 
public void testTaskProgress() {

  LOG.info("--- START: testTaskProgress ---");
  mockTask = createMockTask(TaskType.MAP);        
      
  // launch task
  TaskId taskId = getNewTaskID();
  scheduleTaskAttempt(taskId);
  float progress = 0f;
  assert(mockTask.getProgress() == progress);
  launchTaskAttempt(getLastAttempt().getAttemptId());    
  
  // update attempt1 
  progress = 50f;
  updateLastAttemptProgress(progress);
  assert(mockTask.getProgress() == progress);
  progress = 100f;
  updateLastAttemptProgress(progress);
  assert(mockTask.getProgress() == progress);
  
  progress = 0f;
  // mark first attempt as killed
  updateLastAttemptState(TaskAttemptState.KILLED);
  assert(mockTask.getProgress() == progress);
  // kill first attempt 
  // should trigger a new attempt
  // as no successful attempts 
  killRunningTaskAttempt(getLastAttempt().getAttemptId());
  assert(taskAttempts.size() == 2);
  
  assert(mockTask.getProgress() == 0f);
  launchTaskAttempt(getLastAttempt().getAttemptId());
  progress = 50f;
  updateLastAttemptProgress(progress);
  assert(mockTask.getProgress() == progress);
      
}