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