나이 (단순화 된 예)를 기준으로 직원을 정렬하려고하지만 작업 단위 테스트를받을 수 없습니다.내 콤퍼레이터에 문제가 있습니까?
public class Employee{
private int age;
public void setAge(int age){
this.age=age;
}
public int getAge(){
return this.age;
}
}
다음과 같은 내 비교기의 모양을
class AgeComparator implements Comparator<Employee>{
public int compare(Employee emp1, Employee emp2){
int emp1Age = emp1.getAge();
int emp2Age = emp2.getAge();
if(emp1Age > emp2Age)
return 1;
else if(emp1Age < emp2Age)
return -1;
else
return 0;
}
}
그리고 내 단위 테스트 :
public class AgeComparatorTest {
@Test
public void testAge(){
Employee e1 = new Employee();
e1.setAge(4);
Employee e2 = new Employee();
e2.setAge(7);
List<Employee> employeeList = new ArrayList<Employee>();
employeeList.add(e1);
employeeList.add(e2);
Collections.sort(employeeList, new AgeComparator());
Employee actual = employeeList.get(0);
Assert.assertEquals(e2.getAge(), actual.getAge());
}
}
내가 4하지만 내가 도착하기 전에 7 세와 직원이 될 것으로 기대하고있다. 예상 :
junit.framework.AssertionFailedError < 7>하지만했다 : < 4>
'compareTo'가 아닌 @ user1329572입니다. 이것은 'Comparable'이 아니라 'Comparator'입니다. –