@@ -51,3 +51,146 @@ SCENARIO("Tesing cloud type 'Scheduler' Ctor", "[Scheduler::Scheduler]")
51
51
}
52
52
}
53
53
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