@@ -191,3 +191,319 @@ SCENARIO("Setup a weekly schedule and test isActive Method", "[Scheduler::isActi
191
191
}
192
192
}
193
193
}
194
+
195
+ /* *************************************************************************************/
196
+
197
+ SCENARIO (" Setup a monthly schedule and test isActive Method" , " [Scheduler::isActive]" )
198
+ {
199
+ Scheduler schedule (1633305600 , /* Start 4/10/2021 00:00:00 */
200
+ 1664841600 , /* End 4/10/2022 00:00:00 */
201
+ 600 , /* Duration 00:10:00 */
202
+ 201326598 /* Monthly */
203
+ /* Day of month 6 */
204
+ );
205
+
206
+ WHEN (" Time is 6/09/2021 00:05:00" )
207
+ {
208
+ time_now = 1630886700 ;
209
+ THEN (" Schedule must be inactive" ) {
210
+ REQUIRE (schedule.isActive () == false );
211
+ }
212
+ }
213
+
214
+ WHEN (" Time is 6/10/2021 00:05:00" )
215
+ {
216
+ time_now = 1633478700 ;
217
+ THEN (" Schedule must be active" ) {
218
+ REQUIRE (schedule.isActive () == true );
219
+ }
220
+ }
221
+
222
+ WHEN (" Time is 6/10/2021 00:25:00" )
223
+ {
224
+ time_now = 1633479900 ;
225
+ THEN (" Schedule must be inactive" ) {
226
+ REQUIRE (schedule.isActive () == false );
227
+ }
228
+ }
229
+
230
+ WHEN (" Time is 6/11/2021 00:05:00" )
231
+ {
232
+ time_now = 1636157100 ;
233
+ THEN (" Schedule must be active" ) {
234
+ REQUIRE (schedule.isActive () == true );
235
+ }
236
+ }
237
+
238
+ WHEN (" Time is 6/11/2021 00:25:00" )
239
+ {
240
+ time_now = 1636158300 ;
241
+ THEN (" Schedule must be inactive" ) {
242
+ REQUIRE (schedule.isActive () == false );
243
+ }
244
+ }
245
+
246
+ WHEN (" Time is 7/11/2021 00:05:00" )
247
+ {
248
+ time_now = 1636243500 ;
249
+ THEN (" Schedule must be inactive" ) {
250
+ REQUIRE (schedule.isActive () == false );
251
+ }
252
+ }
253
+
254
+ WHEN (" Time is 6/12/2021 00:05:00" )
255
+ {
256
+ time_now = 1638749100 ;
257
+ THEN (" Schedule must be active" ) {
258
+ REQUIRE (schedule.isActive () == true );
259
+ }
260
+ }
261
+
262
+ WHEN (" Time is 6/01/2022 00:05:00" )
263
+ {
264
+ time_now = 1641427500 ;
265
+ THEN (" Schedule must be active" ) {
266
+ REQUIRE (schedule.isActive () == true );
267
+ }
268
+ }
269
+
270
+ WHEN (" Time is 6/02/2022 00:05:00" )
271
+ {
272
+ time_now = 1644105900 ;
273
+ THEN (" Schedule must be active" ) {
274
+ REQUIRE (schedule.isActive () == true );
275
+ }
276
+ }
277
+
278
+ WHEN (" Time is 6/03/2022 00:05:00" )
279
+ {
280
+ time_now = 1646525100 ;
281
+ THEN (" Schedule must be active" ) {
282
+ REQUIRE (schedule.isActive () == true );
283
+ }
284
+ }
285
+
286
+ WHEN (" Time is 6/04/2022 00:05:00" )
287
+ {
288
+ time_now = 1649203500 ;
289
+ THEN (" Schedule must be active" ) {
290
+ REQUIRE (schedule.isActive () == true );
291
+ }
292
+ }
293
+
294
+ WHEN (" Time is 6/05/2022 00:05:00" )
295
+ {
296
+ time_now = 1651795500 ;
297
+ THEN (" Schedule must be active" ) {
298
+ REQUIRE (schedule.isActive () == true );
299
+ }
300
+ }
301
+
302
+ WHEN (" Time is 6/06/2022 00:05:00" )
303
+ {
304
+ time_now = 1654473900 ;
305
+ THEN (" Schedule must be active" ) {
306
+ REQUIRE (schedule.isActive () == true );
307
+ }
308
+ }
309
+
310
+ WHEN (" Time is 6/07/2022 00:05:00" )
311
+ {
312
+ time_now = 1657065900 ;
313
+ THEN (" Schedule must be active" ) {
314
+ REQUIRE (schedule.isActive () == true );
315
+ }
316
+ }
317
+
318
+ WHEN (" Time is 6/08/2022 00:05:00" )
319
+ {
320
+ time_now = 1659744300 ;
321
+ THEN (" Schedule must be active" ) {
322
+ REQUIRE (schedule.isActive () == true );
323
+ }
324
+ }
325
+
326
+ WHEN (" Time is 6/09/2022 00:05:00" )
327
+ {
328
+ time_now = 1662422700 ;
329
+ THEN (" Schedule must be active" ) {
330
+ REQUIRE (schedule.isActive () == true );
331
+ }
332
+ }
333
+
334
+ WHEN (" Time is 6/10/2022 00:05:00" )
335
+ {
336
+ time_now = 1665014700 ;
337
+ THEN (" Schedule must be inactive" ) {
338
+ REQUIRE (schedule.isActive () == false );
339
+ }
340
+ }
341
+ }
342
+
343
+ /* *************************************************************************************/
344
+
345
+ SCENARIO (" Setup a yearly schedule and test isActive Method" , " [Scheduler::isActive]" )
346
+ {
347
+ Scheduler schedule (1633305600 , /* Start 4/10/2021 00:00:00 */
348
+ 1759536000 , /* End 4/10/2025 00:00:00 */
349
+ 600 , /* Duration 00:10:00 */
350
+ 268438022 /* Yearly */
351
+ /* Month 11, Day of month 6 */
352
+ );
353
+
354
+ WHEN (" Time is 6/11/2020 00:05:00" )
355
+ {
356
+ time_now = 1604621100 ;
357
+ THEN (" Schedule must be inactive" ) {
358
+ REQUIRE (schedule.isActive () == false );
359
+ }
360
+ }
361
+
362
+ WHEN (" Time is 6/11/2021 00:05:00" )
363
+ {
364
+ time_now = 1636157100 ;
365
+ THEN (" Schedule must be active" ) {
366
+ REQUIRE (schedule.isActive () == true );
367
+ }
368
+ }
369
+
370
+ WHEN (" Time is 6/11/2021 00:25:00" )
371
+ {
372
+ time_now = 1636158300 ;
373
+ THEN (" Schedule must be inactive" ) {
374
+ REQUIRE (schedule.isActive () == false );
375
+ }
376
+ }
377
+
378
+ WHEN (" Time is 6/11/2022 00:05:00" )
379
+ {
380
+ time_now = 1667693100 ;
381
+ THEN (" Schedule must be active" ) {
382
+ REQUIRE (schedule.isActive () == true );
383
+ }
384
+ }
385
+
386
+ WHEN (" Time is 6/11/2022 00:25:00" )
387
+ {
388
+ time_now = 1667694300 ;
389
+ THEN (" Schedule must be inactive" ) {
390
+ REQUIRE (schedule.isActive () == false );
391
+ }
392
+ }
393
+
394
+ WHEN (" Time is 7/11/2021 00:05:00" )
395
+ {
396
+ time_now = 1636243500 ;
397
+ THEN (" Schedule must be inactive" ) {
398
+ REQUIRE (schedule.isActive () == false );
399
+ }
400
+ }
401
+
402
+ WHEN (" Time is 6/11/2023 00:05:00" )
403
+ {
404
+ time_now = 1699229100 ;
405
+ THEN (" Schedule must be active" ) {
406
+ REQUIRE (schedule.isActive () == true );
407
+ }
408
+ }
409
+
410
+ WHEN (" Time is 6/11/2024 00:05:00" )
411
+ {
412
+ time_now = 1730851500 ;
413
+ THEN (" Schedule must be active" ) {
414
+ REQUIRE (schedule.isActive () == true );
415
+ }
416
+ }
417
+
418
+ WHEN (" Time is 6/11/2025 00:05:00" )
419
+ {
420
+ time_now = 1762387500 ;
421
+ THEN (" Schedule must be inactive" ) {
422
+ REQUIRE (schedule.isActive () == false );
423
+ }
424
+ }
425
+ }
426
+
427
+ /* *************************************************************************************/
428
+
429
+ SCENARIO (" Setup a one shot schedule and test isActive Method" , " [Scheduler::isActive]" )
430
+ {
431
+ Scheduler schedule (1636156800 , /* Start 6/11/2021 00:00:00 */
432
+ 1636243199 , /* End 6/11/2021 23:59:59 */
433
+ 600 , /* Duration 00:10:00 */
434
+ 0 /* One shot */
435
+ );
436
+
437
+ WHEN (" Time is 6/11/2020 00:05:00" )
438
+ {
439
+ time_now = 1604621100 ;
440
+ THEN (" Schedule must be inactive" ) {
441
+ REQUIRE (schedule.isActive () == false );
442
+ }
443
+ }
444
+
445
+ WHEN (" Time is 6/11/2021 00:05:00" )
446
+ {
447
+ time_now = 1636157100 ;
448
+ THEN (" Schedule must be active" ) {
449
+ REQUIRE (schedule.isActive () == true );
450
+ }
451
+ }
452
+
453
+ WHEN (" Time is 6/11/2021 00:25:00" )
454
+ {
455
+ time_now = 1636158300 ;
456
+ THEN (" Schedule must be inactive" ) {
457
+ REQUIRE (schedule.isActive () == false );
458
+ }
459
+ }
460
+
461
+ WHEN (" Time is 6/11/2022 00:05:00" )
462
+ {
463
+ time_now = 1667693100 ;
464
+ THEN (" Schedule must be inactive" ) {
465
+ REQUIRE (schedule.isActive () == false );
466
+ }
467
+ }
468
+
469
+ WHEN (" Time is 7/11/2021 00:05:00" )
470
+ {
471
+ time_now = 1636243500 ;
472
+ THEN (" Schedule must be inactive" ) {
473
+ REQUIRE (schedule.isActive () == false );
474
+ }
475
+ }
476
+
477
+ WHEN (" Time is 7/11/2021 00:15:00" )
478
+ {
479
+ time_now = 1636244100 ;
480
+ THEN (" Schedule must be inactive" ) {
481
+ REQUIRE (schedule.isActive () == false );
482
+ }
483
+ }
484
+
485
+ WHEN (" Time is 6/11/2021 00:11:00" )
486
+ {
487
+ time_now = 1636157460 ;
488
+ THEN (" Schedule must be inactive" ) {
489
+ REQUIRE (schedule.isActive () == false );
490
+ }
491
+ }
492
+
493
+ WHEN (" Time is 6/11/2021 00:01:00" )
494
+ {
495
+ time_now = 1636156860 ;
496
+ THEN (" Schedule must be active" ) {
497
+ REQUIRE (schedule.isActive () == true );
498
+ }
499
+ }
500
+
501
+ WHEN (" Time is 7/11/2021 00:11:00" )
502
+ {
503
+ time_now = 1636243860 ;
504
+ THEN (" Schedule must be inactive" ) {
505
+ REQUIRE (schedule.isActive () == false );
506
+ }
507
+ }
508
+ }
509
+
0 commit comments