Я довольно новичок в написании кода, и я не лучший, но я не понимаю, почему мой код не передает один из тестов JUnit, которые я установил.JUnit Test failing and not sure why
public class PA3Test {
public static void main(String[] args) {
}
public static int countMajority(int count0, int count1, int count2) {
int allVotes = (count0 + count1 + count2);
int halfVotes = (allVotes/2);
int winner = 999;
if (count0 >= halfVotes) {
winner = 0;
} else {
winner = -1;
}
if (count1 >= halfVotes) {
winner = 1;
} else {
winner = -1;
}
return winner;
}
Тест выглядит следующим образом:
import junit.framework.TestCase;
public class PA3TestTest extends TestCase {
public static void testCountMajority() {
assertEquals("0th param should win:", 0,
PA3Test.countMajority(100, 50, 40));
assertEquals("1st param should win:", 1,
PA3Test.countMajority(50, 100, 40));
}
Предполагается, возвращается 0, но она возвращается -1. Любая помощь приветствуется.
Тест не работает, потому что ваша функция должна возвращать 0, но она возвращает -1, а потому, что тест проверяет, что ваша функция возвращает 0, а это не так. – immibis
@immibis Какова ценность повторения вопроса как комментария? –
@HadenSchlemmer Вы прошли через код в своем отладчике IDE, чтобы узнать, где он делает что-то неожиданное? –