public class ClockTest
{
public static boolean testClock(int hour, int minute, int second) {
ClockDisplay clock = new ClockDisplay(hour,minute,second);
clock.setAlarm(hour, minute, second+1);
boolean worked = true;
// Alarm should not go off yet.
if(clock.isAlarmGoingOff()==true) {
System.out.println("***Alarm is going off and it should not be");
worked = false;
} else {
System.out.println("Good");
}
// Now it should go off because I added a second.
clock.timeTick();
if(clock.isAlarmGoingOff()==false) {
System.out.println("***Alarm is going NOT off and it should be");
worked = false;
} else {
System.out.println("Good 2");
}
// Now it should not go off because I added another second.
clock.timeTick();
if(clock.isAlarmGoingOff()==true) {
System.out.println("***Alarm is going off and it should not be");
worked = false;
} else {
System.out.println("Good 3");
}
return worked;
}
public static void testStuff() {
testGetTimeAM();
testGetTimePM();
testIncrementNormal();
testIncrementSecondRollover();
testIncrementMinutesRollover();
testIncrementHoursRollover();
testClock(2, 17, 34);
}
public static void testGetTimeAM() {
ClockDisplay clock = new ClockDisplay(11,34,45);
if(!clock.getTime().equals("11:34:45 am")) {
System.out.println("****getTime incorrect for AM time****");
System.out.println(" Should be '11:34:45 am', but was '"
+clock.getTime()+"'");
} else {
System.out.println("getTime works for AM");
}
}
public static void testGetTimePM() {
ClockDisplay clock = new ClockDisplay(20,03,06);
if(!clock.getTime().equals("08:03:06 pm")) {
System.out.println("****getTime incorrect for AM time****");
System.out.println(" Should be '08:03:06 am', but was '"
+clock.getTime()+"'");
} else {
System.out.println("getTime works for PM");
}
}
public static void testIncrementNormal() {
ClockDisplay clock = new ClockDisplay(11,34,45);
clock.timeTick();
if(!clock.getTime().equals("11:34:46 am")) {
System.out.println("****Normal increment incorrect****");
} else {
System.out.println("Normal increment works!");
}
}
public static void testIncrementSecondRollover() {
ClockDisplay clock = new ClockDisplay(11,34,59);
clock.timeTick();
if(!clock.getTime().equals("11:35:00 am")) {
System.out.println("****Second Rollover increment incorrect****");
} else {
System.out.println("Second rollover increment works!");
}
}
public static void testIncrementMinutesRollover() {
ClockDisplay clock = new ClockDisplay(11,59,59);
clock.timeTick();
if(!clock.getTime().equals("12:00:00 pm")) {
System.out.println("****Minute Rollover increment incorrect****");
} else {
System.out.println("Minute Rollover increment works!");
}
}
public static void testIncrementHoursRollover() {
ClockDisplay clock = new ClockDisplay(23,59,59);
clock.timeTick();
if(!clock.getTime().equals("12:00:00 am")) {
System.out.println("****Hour Rollover increment incorrect****");
} else {
System.out.println("Hour Rollover increment works!");
}
}
}