Если вернуть ноль, не пройден тест Tennis Kata Java - PullRequest
0 голосов
/ 10 июня 2018

Я нашел тренировку по теннисному ката для TDD, но у меня небольшая проблема с оператором If.

public String getScore(){
    if (server.getScore() >= 3 && receiver.getScore() >= 3){
        if(Math.abs(receiver.getScore() - server.getScore()) >= 2){
            return getLeadPlayer().getName() + " won";
        } else if (Math.abs(server.getScore() - receiver.getScore()) >= 1) {
            return "A" + ":" + receiver.getScoreDescription();
        } else if (Math.abs(receiver.getScore() - server.getScore()) >= 1) {
            return server.getScoreDescription() + ":" + "A";
        } else {
            return "40:40";
        }
    } else {
        return server.getScoreDescription() + ":" + receiver.getScoreDescription();
    }

Второй оператор if if возвращает значение NULL.Понятия не имею, что не так.

@Test
public void receiverAdvantage() {
    IntStream.rangeClosed(1, 3).forEach((Integer) -> {
        server.winBall();
    });
    IntStream.rangeClosed(1, 4).forEach((Integer) -> {
        receiver.winBall();
    });
    assertThat(tennisGame, hasProperty("score", is("40:A")));
}

«А» означает преимущество.

И результат теста:

java.lang.AssertionError:
Expected: hasProperty("score", is "40:A")
 but: null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...