package hw1; import static org.junit.Assert.*; import hw1.AlarmClock; import org.junit.Before; import org.junit.Test; public class JUnitTestAlarmClock { private AlarmClock clock; @Before public void setup(){ AlarmClock clock = new AlarmClock(2,0); this.clock = clock; } @Test public void AlarmTimeAtSameTimetest() { clock.setAlarmTime(2, 0); String msg = "Effective time should be 1560"; assertEquals(msg, 120, clock.getAlarmTime()); } @Test public void RingTest1() { clock.setAlarmTime(2, 0); clock.alarmOn(); clock.advanceTime(10, 0); String msg = "Clock should not be ringing after 10 hours"; assertEquals(msg, false, clock.isRinging()); } @Test public void RingTest2() { clock.setAlarmTime(2, 0); clock.alarmOn(); clock.advanceTime(22, 0); String msg = "Clock should not be ringing after 22 hours"; assertEquals(msg, false, clock.isRinging()); } @Test public void RingTest3() { clock.setAlarmTime(2, 0); clock.alarmOn(); clock.advanceTime(22, 0); String msg = "Clock should not be ringing after 22 hours"; assertEquals(msg, false, clock.isRinging()); } @Test public void RingTest4() { clock.setAlarmTime(2, 0); clock.alarmOn(); clock.advanceTime(23, 59); String msg = "Clock should not be ringing after 23:59 hours"; assertEquals(msg, false, clock.isRinging()); } @Test public void RingTest5() { clock.setAlarmTime(2, 0); clock.alarmOn(); clock.advanceTime(24,00); String msg = "Clock should be ringing after 24:00 hours"; assertEquals(msg, true, clock.isRinging()); } @Test public void RingTest6() { clock.setAlarmTime(2, 0); clock.advanceTime(24,00); //advance to the next day AT the alarm time. clock.alarmOn(); clock.advanceTime(3, 0); String msg = "After advancing 24 hours when alarm is set to clock time, then turning the alarm on, the alarm should not go off."; assertEquals(msg, false, clock.isRinging()); } @Test public void RingTest7() { clock.setAlarmTime(2, 0); clock.advanceTime(24,00); //advance to the next day AT the alarm time. clock.alarmOn(); clock.advanceTime(24, 0); String msg = "After advancing 24 hours when alarm is set to the clock time (2:00 for alarm and 2:00 for clock time), turning the alarm on, and advancing another 24 hours, the alarm should ring."; assertEquals(msg, true, clock.isRinging()); } @Test public void SnoozeTest1() { clock.setAlarmTime(3, 0); clock.alarmOn(); clock.snooze(); String msg = "If alarm is not ringing, snooze shouldnt do anything."; assertEquals(msg, 180, clock.getEffectiveAlarmTime()); } @Test public void SnoozeTest2() { clock.setAlarmTime(3, 0); clock.alarmOn(); clock.advanceTime(1, 0); clock.snooze(); String msg = "Alarm clock should not be ringing after snooze is pressed."; assertEquals(msg, false, clock.isRinging()); } @Test public void SnoozeTest3() { clock.setAlarmTime(3, 0); clock.alarmOn(); clock.advanceTime(1, 0); clock.snooze(); String msg = "Effective Alarm time should be 189 after one snooze, when alarm time is 3:00."; assertEquals(msg, 189, clock.getEffectiveAlarmTime()); } @Test public void SnoozeTest4() { clock.setAlarmTime(3, 0); clock.alarmOn(); clock.advanceTime(1, 0); clock.snooze(); String msg = "Alarm Time should not be affected by snooze."; assertEquals(msg, 180, clock.getAlarmTime()); } // @Test // public void SnoozeTest5() { // // String msg = " "; // assertEquals(msg, expected, actual); // } // @Test // public void TESTNAME3() { // // String msg = " "; // assertEquals(msg, expected, actual); // } }