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