Using automated tests.
-
Will be explained in detail.
-
Idea: Feed in samples, check results for correctness.
-
Previous slide: Logic-1 > alarmClock
-
Sample project at MI Gitlab.
public class AlarmClock {
/** Given a day of the week encoded as 0=Sun, 1=Mon,...
*/
static ❶ public String alarmClock(int day, boolean vacation) {
switch (day) {
case 1:
...
if (vacation) {
return "off";
} else {
return "10:00"; ...|
The static keyword is required here as being explained in the section called “Class members and methods”. |
public class AlarmClockTest {
@Test ❶
public void test_1_false() {
Assert.assertEquals( "7:00", AlarmClock.alarmClock(1, false));
} ▲ ▲ ▲
... ┃ ┃ ┃
Expected result Input parameter
@Test ┃ ┃ ┃
public void test_0_false() { ▼ ▼ ▼
Assert.assertEquals("10:00", AlarmClock.alarmClock(0, false));
} ...|
Explanation in the section called “Unit testing”. |
public class AlarmClockTest { Input parameter
@Test ┃ ┃
public void test_1_false() { ▼ ▼
final String result = AlarmClock.alarmClock(1, false);
┗━━━━━━━━━━━━━━━┓
▼
Assert.assertEquals( "7:00", result);
} ▲
... ┃
Expected result