Skip to content

Commit 5c30e04

Browse files
committed
Add tests for x minutes and weekly schedule
1 parent dd0ccf5 commit 5c30e04

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed

extras/test/src/test_CloudScheduler.cpp

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,146 @@ SCENARIO("Tesing cloud type 'Scheduler' Ctor", "[Scheduler::Scheduler]")
5151
}
5252
}
5353

54+
/**************************************************************************************/
55+
56+
SCENARIO("Setup a schedule that repeats each 20 minutes and test isActive Method", "[Scheduler::isActive]")
57+
{
58+
Scheduler schedule(1633305600, /* Start 4/10/2021 00:00:00 */
59+
1633651200, /* End 8/10/2021 00:00:00 */
60+
600, /* Duration 00:10:00 */
61+
0, /* Minutes */
62+
20 /* Repeats 00:20:00 */
63+
);
64+
65+
WHEN("Time is 4/10/2021 00:00:00")
66+
{
67+
time_now = 1633305600;
68+
THEN("Schedule must be active") {
69+
REQUIRE(schedule.isActive() == true);
70+
}
71+
}
72+
73+
WHEN("Time is 4/10/2021 00:10:00")
74+
{
75+
time_now = 1633306200;
76+
THEN("Schedule must be active") {
77+
REQUIRE(schedule.isActive() == true);
78+
}
79+
}
80+
81+
WHEN("Time is 4/10/2021 00:10:01")
82+
{
83+
time_now = 1633306201;
84+
THEN("Schedule must be inactive") {
85+
REQUIRE(schedule.isActive() == false);
86+
}
87+
}
88+
89+
WHEN("Time is 4/10/2021 00:19:59")
90+
{
91+
time_now = 1633306799;
92+
THEN("Schedule must be inactive") {
93+
REQUIRE(schedule.isActive() == false);
94+
}
95+
}
96+
97+
WHEN("Time is 4/10/2021 00:20:00")
98+
{
99+
time_now = 1633306800;
100+
THEN("Schedule must be active") {
101+
REQUIRE(schedule.isActive() == true);
102+
}
103+
}
104+
105+
WHEN("Time is 7/10/2021 23:45:00")
106+
{
107+
time_now = 1633650300;
108+
THEN("Schedule must be active") {
109+
REQUIRE(schedule.isActive() == true);
110+
}
111+
}
112+
113+
WHEN("Time is 7/10/2021 23:55:00")
114+
{
115+
time_now = 1633650900;
116+
THEN("Schedule must be inactive") {
117+
REQUIRE(schedule.isActive() == false);
118+
}
119+
}
120+
121+
WHEN("Time is 8/10/2021 00:00:00")
122+
{
123+
time_now = 1633651200;
124+
THEN("Schedule must be inactive") {
125+
REQUIRE(schedule.isActive() == false);
126+
}
127+
}
128+
129+
WHEN("Time is 8/10/2021 00:05:00")
130+
{
131+
time_now = 1633651500;
132+
THEN("Schedule must be inactive") {
133+
REQUIRE(schedule.isActive() == false);
134+
}
135+
}
136+
}
137+
138+
/**************************************************************************************/
139+
140+
SCENARIO("Setup a weekly schedule and test isActive Method", "[Scheduler::isActive]")
141+
{
142+
Scheduler schedule(1633305600, /* Start 4/10/2021 00:00:00 */
143+
1633651200, /* End 8/10/2021 00:00:00 */
144+
600, /* Duration 00:10:00 */
145+
3, /* Weekly */
146+
70 /* Daymask 1000110 */
147+
);
148+
149+
WHEN("Time is 4/10/2021 00:05:00")
150+
{
151+
time_now = 1633305900;
152+
THEN("Schedule must be active") {
153+
REQUIRE(schedule.isActive() == true);
154+
}
155+
}
156+
157+
WHEN("Time is 4/10/2021 00:25:00")
158+
{
159+
time_now = 1633307100;
160+
THEN("Schedule must be inactive") {
161+
REQUIRE(schedule.isActive() == false);
162+
}
163+
}
164+
165+
WHEN("Time is 5/10/2021 00:05:00")
166+
{
167+
time_now = 1633392300;
168+
THEN("Schedule must be active") {
169+
REQUIRE(schedule.isActive() == true);
170+
}
171+
}
172+
173+
WHEN("Time is 5/10/2021 00:25:00")
174+
{
175+
time_now = 1633393500;
176+
THEN("Schedule must be inactive") {
177+
REQUIRE(schedule.isActive() == false);
178+
}
179+
}
180+
181+
WHEN("Time is 6/10/2021 00:05:00")
182+
{
183+
time_now = 1633478700;
184+
THEN("Schedule must be inactive") {
185+
REQUIRE(schedule.isActive() == false);
186+
}
187+
}
188+
189+
WHEN("Time is 7/10/2021 00:05:00")
190+
{
191+
time_now = 1633565100;
192+
THEN("Schedule must be inactive") {
193+
REQUIRE(schedule.isActive() == false);
194+
}
195+
}
196+
}

0 commit comments

Comments
 (0)