TEST(LightScheduler, ScheduleTwoEventsAtTheSameTIme) { LightScheduler_ScheduleTurnOn(3, SUNDAY, 1200); LightScheduler_ScheduleTurnOn(12, SUNDAY, 1200); setTimeTo(SUNDAY, 1200); LightScheduler_Wakeup(); checkLightState(3, LIGHT_ON); checkLightState(12, LIGHT_ON); }
TEST(LightScheduler, RemoveMultipleScheduledEvent) { LightScheduler_ScheduleTurnOn(6, MONDAY, 600); LightScheduler_ScheduleTurnOn(7, MONDAY, 600); LightScheduler_ScheduleRemove(6, MONDAY, 600); setTimeTo(MONDAY, 600); LightScheduler_Wakeup(); checkLightState(6, LIGHT_STATE_UNKNOWN); checkLightState(7, LIGHT_ON); }
TEST(LightScheduler, ScheduleOnWeekdayAndItsFridayAndItsTime) { LightScheduler_ScheduleTurnOn(id, WEEKDAY, 1000); setTimeTo(FRIDAY, 1000); LightScheduler_Wakeup(); checkLightState(id, LIGHT_ON); }
TEST(LightScheduler, ScheduleOnWeekendAndItsMondayAndItsTime) { LightScheduler_ScheduleTurnOn(id, WEEKEND, 100); setTimeTo(MONDAY, 100); LightScheduler_Wakeup(); checkLightState(id, LIGHT_STATE_UNKNOWN); }
TEST(LightScheduler, ScheduleOnWeekendAndItsSundayAndItsTime) { LightScheduler_ScheduleTurnOn(id, WEEKEND, 100); setTimeTo(SUNDAY, 100); LightScheduler_Wakeup(); checkLightState(id, LIGHT_ON); }
TEST(LightScheduler, ScheduleOffWeekendAndItsSaturdayAndItsTime) { LightScheduler_ScheduleTurnOff(id, WEEKEND, 200); setTimeTo(SATURDAY, 200); LightScheduler_Wakeup(); checkLightState(id, LIGHT_OFF); }
TEST(LightScheduler, ScheduleOffTuesdayAndItsTuesdayAndItsTime) { LightScheduler_ScheduleTurnOff(id, TUESDAY, 200); setTimeTo(TUESDAY, 200); LightScheduler_Wakeup(); checkLightState(id, LIGHT_OFF); }
TEST(LightScheduler, ScheduleTuesdayButItsMonday) { LightScheduler_ScheduleTurnOn(3, TUESDAY, 1200); setTimeTo(MONDAY, 1200); LightScheduler_Wakeup(); checkLightState(LIGHT_ID_UNKNOWN, LIGHT_STATE_UNKNOWN); }
TEST(LightScheduler, ScheduleOnTuesdayAndItsNotTuesdayButItsTime) { LightScheduler_ScheduleTurnOn(id, TUESDAY, 100); setTimeTo(MONDAY, 100); LightScheduler_Wakeup(); checkLightState(LIGHT_ID_UNKNOWN, LIGHT_STATE_UNKNOWN); }
TEST(LightScheduler, ScheduleOnEverydayItsTime) { LightScheduler_ScheduleTurnOn(id, EVERYDAY, scheduledMinute); setTimeTo(SUNDAY, scheduledMinute); LightScheduler_Wakeup(); checkLightState(id, LIGHT_ON); }
TEST(LightScheduler, ScheduleEverydayNotTimeYet) { LightScheduler_ScheduleTurnOn(id, EVERYDAY, 100); setTimeTo(SUNDAY, 1200); LightScheduler_Wakeup(); checkLightState(LIGHT_ID_UNKNOWN, LIGHT_STATE_UNKNOWN); }
TEST(LightScheduler, ScheduleWeekEndItsMonday) { LightScheduler_ScheduleTurnOn(3, WEEKEND, 1200); setTimeTo(MONDAY, 1200); LightScheduler_Wakeup(); checkLightState(LIGHT_ID_UNKNOWN, LIGHT_STATE_UNKNOWN); }
TEST(LightScheduler, ScheduleWeekEndItsSunday) { LightScheduler_ScheduleTurnOn(3, WEEKEND, 1200); setTimeTo(SUNDAY, 1200); LightScheduler_Wakeup(); checkLightState(3, LIGHT_ON); }
TEST(LightScheduler, ScheduleTuesdayAndItsTuesday) { LightScheduler_ScheduleTurnOn(3, TUESDAY, 1200); setTimeTo(TUESDAY, 1200); LightScheduler_Wakeup(); checkLightState(3, LIGHT_ON); }
TEST(LightScheduler, ScheduleOnWeekdayAndItsSaturdayAndItsTime) { LightScheduler_ScheduleTurnOn(id, WEEKDAY, 1000); setTimeTo(SATURDAY, 1000); LightScheduler_Wakeup(); checkLightState(LIGHT_ID_UNKNOWN, LIGHT_STATE_UNKNOWN); }
TEST(LightScheduler, ScheduleOnTuesdayAndItsTuesdayAndItsTime) { LightScheduler_ScheduleTurnOn(id, TUESDAY, 100); setTimeTo(TUESDAY, 100); LightScheduler_Wakeup(); checkLightState(id, LIGHT_ON); }
TEST(LightScheduler, ScheduleOnWeekdayAndItsMondayAndItsTime) { LightScheduler_ScheduleTurnOn(id, WEEKDAY, 200); setTimeTo(MONDAY, 200); LightScheduler_WakeUp(); checkLightState(id, LIGHT_ON); }
TEST(LightScheduler, RemoveScheduledEvent) { LightScheduler_ScheduleTurnOn(6, MONDAY, 600); LightScheduler_ScheduleRemove(6, MONDAY, 600); setTimeTo(MONDAY, 599); LightScheduler_Wakeup(); checkLightState(LIGHT_ID_UNKNOWN, LIGHT_STATE_UNKNOWN); }