@Override
  public boolean isFinished() {
    return true;
  }
@Test (timeout=5000)
  public void testCompletedTaskAttempt(){
    
    TaskAttemptInfo attemptInfo= mock(TaskAttemptInfo.class);
    when(attemptInfo.getRackname()).thenReturn("Rackname");
    when(attemptInfo.getShuffleFinishTime()).thenReturn(11L);
    when(attemptInfo.getSortFinishTime()).thenReturn(12L);
    when(attemptInfo.getShufflePort()).thenReturn(10);
    
    JobID jobId= new JobID("12345",0);
    TaskID taskId =new TaskID(jobId,TaskType.REDUCE, 0);
    TaskAttemptID taskAttemptId= new TaskAttemptID(taskId, 0);
    when(attemptInfo.getAttemptId()).thenReturn(taskAttemptId);
    
    
    CompletedTaskAttempt taskAttemt= new CompletedTaskAttempt(null,attemptInfo);
    assertEquals( "Rackname",   taskAttemt.getNodeRackName());
    assertEquals( Phase.CLEANUP,   taskAttemt.getPhase());
    assertTrue(  taskAttemt.isFinished());
    assertEquals( 11L,   taskAttemt.getShuffleFinishTime());
    assertEquals( 12L,   taskAttemt.getSortFinishTime());
    assertEquals( 10,   taskAttemt.getShufflePort());
  }