-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask_3.java
More file actions
37 lines (32 loc) · 2.25 KB
/
task_3.java
File metadata and controls
37 lines (32 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
Тесты из предыдущего задания можно объединить в один параметризованный тест. Так код будет поддерживаемым и с ним будет удобнее работать.
Допиши параметризованный тест checkIsAdultWhenAgeThenResult, который проверит возраст из каждого класса эквивалентности. Учти, что код приложения пишут люди из разных стран, и в некоторых совершеннолетие наступает в 21 год.
В тест будет передаваться два аргумента: возраст и ожидаемый результат проверки. Реализуй это требование с помощью двумерного массива аргументов.
*/
@RunWith(Parameterized.class) // Напиши аннотацию для параметризованных тестов
public class CheckIsAdultTest {
private final int age;
private final boolean result;
public CheckIsAdultTest(int age, boolean result) { // Инициализируй поля класса в конструкторе
this.age = age;
this.result = result;
}
@Parameterized.Parameters // Пометь метод аннотацией для параметров
public static Object[][] getTextData() {
return new Object[][] { // Заполни массив тестовыми данными и ожидаемым результатом
{ 17, false },
{ 18, true },
{ 19, true },
{ 21, true }
};
}
@Test
public void checkIsAdultWhenAgeThenResult() {
Program program = new Program();
// Передай сюда возраст пользователя
boolean isAdult = program.checkIsAdult(age);
// Сравни полученный и ожидаемый результаты, не забудь про сообщение об ошибке
String message = String.format("Ожидалось %s при возрасте %d", result, age);
assertEquals(message, result, isAdult);
}
}