Я хочу вернуть 4, когда экземпляр класса Person по [name = "Mohammad", age = 26], где вызывается. Я хочу вернуть 5 экземпляров класса Person по [name = "Ali", age = 20], где вызывается.Как заглушить метод, когда экземпляр конкретных полей конкретных объектов прошел?
Так у меня есть эти классы:
public class Person {
private String name;
private int age;
Мой DAO класс:
public class DAO {
public int getA(Person person) {
return 1;
}
public int getB(Person person) {
return 2;
}
}
Вот калькулятор класс
public class Calculator {
private DAO dao;
public int add() {
dao = new DAO();
return dao.getA(new Person("Mohammad", 26)) +
dao.getB(new Person("Ali", 20));
}
}
и это мой тест:
@Test
public void testAdd() throws Exception {
when(mydao.getA(new Person("Mohammad", 26))).thenReturn(4);
when(mydao.getB(new Person("Ali", 20))).thenReturn(5);
whenNew(DAO.class).withNoArguments().thenReturn(mydao);
assertEquals(9, cal.add());
}
Так почему мой тест потерпел неудачу?