@@ -85,26 +85,26 @@ test process_event_from_substate = [] {
85
85
expect (sm.is (idle));
86
86
expect (sm.is <decltype (sml::state<sub>)>(s1));
87
87
88
- sm.process_event (e1 {});
88
+ expect ( sm.process_event (e1 {}) );
89
89
expect (sm.is (sml::state<sub>));
90
90
expect (sm.is <decltype (sml::state<sub>)>(s1));
91
91
expect (!c_.a_called );
92
92
93
- sm.process_event (e1 {});
93
+ expect ( sm.process_event (e1 {}) );
94
94
expect (sm.is (sml::state<sub>));
95
95
expect (sm.is <decltype (sml::state<sub>)>(s2));
96
96
expect (!c_.a_called );
97
97
98
- sm.process_event (e2 {}); // + process(e3{})
98
+ expect (! sm.process_event (e2 {})) ; // + process(e3{}) + process(e2 {})
99
99
expect (sm.is (sml::state<sub>));
100
100
expect (sm.is <decltype (sml::state<sub>)>(s3));
101
101
expect (!c_.a_called );
102
102
103
- sm.process_event (e3 {});
103
+ expect ( sm.process_event (e3 {}) );
104
104
expect (sm.is (sml::state<sub>));
105
105
expect (sm.is <decltype (sml::state<sub>)>(sml::X));
106
106
107
- sm.process_event (e4 {});
107
+ expect ( sm.process_event (e4 {}) );
108
108
expect (1 == c_.a_called );
109
109
};
110
110
@@ -148,7 +148,7 @@ test queue_and_internal_process_events = [] {
148
148
return make_transition_table (
149
149
* idle + on_entry<sml::initial> / process (e1 ())
150
150
, s1 <= idle + event<e1 >
151
- , s2 <= s1
151
+ , s2 <= s1 / process ( e1 ()) // This process is unhandled, but the state machine still transitions to s2
152
152
, s2 + on_entry<_> / process (e2 ())
153
153
, s3 <= s2 + event<e2 >
154
154
, X <= s3
@@ -186,7 +186,7 @@ test queue_process_reaction = [] {
186
186
187
187
sml::sm<c, sml::process_queue<std::queue>> sm{};
188
188
189
- sm.process_event (e1 ());
189
+ expect (! sm.process_event (e1 ())); // e3 was unexpected so it returns false
190
190
expect (sm.is (sml::X));
191
191
192
192
const c& c_ = sm;
@@ -209,7 +209,7 @@ test mix_process_and_internal = [] {
209
209
210
210
sml::sm<c, sml::process_queue<std::queue>> sm{};
211
211
212
- sm.process_event (e1 {});
212
+ expect ( sm.process_event (e1 {}) );
213
213
expect (sm.is (sml::X));
214
214
};
215
215
@@ -242,11 +242,11 @@ test process_event_sent_from_substate = [] {
242
242
expect (sm.is (idle, s2));
243
243
expect (sm.is <decltype (sml::state<sub>)>(s1));
244
244
245
- sm.process_event (e1 {});
245
+ expect ( sm.process_event (e1 {}) );
246
246
expect (sm.is (sml::state<sub>, s2));
247
247
expect (sm.is <decltype (sml::state<sub>)>(s1));
248
248
249
- sm.process_event (e1 {}); // + process(e2{})
249
+ expect ( sm.process_event (e1 {}) ); // + process(e2{})
250
250
expect (sm.is (sml::X, sml::X));
251
251
expect (sm.is <decltype (sml::state<sub>)>(sml::X));
252
252
};
@@ -279,10 +279,10 @@ test process_event_of_substate = [] {
279
279
expect (sm.is (idle));
280
280
expect (sm.is <decltype (sml::state<sub>)>(s1));
281
281
282
- sm.process_event (e1 {});
282
+ expect ( sm.process_event (e1 {}) );
283
283
expect (sm.is (sml::state<sub>));
284
284
285
- sm.process_event (e2 {}); // + process(e2{})
285
+ expect ( sm.process_event (e2 {}) ); // + process(e2{})
286
286
expect (sm.is (sml::state<sub>));
287
287
expect (sm.is <decltype (sml::state<sub>)>(sml::X));
288
288
};
@@ -327,7 +327,7 @@ test process_between_substates = [] {
327
327
expect (sm.is <decltype (sml::state<sub1>)>(s1));
328
328
expect (sm.is <decltype (sml::state<sub2>)>(s2));
329
329
330
- sm.process_event (e1 {});
330
+ expect ( sm.process_event (e1 {}) );
331
331
expect (sm.is (sml::X, sml::X));
332
332
expect (sm.is <decltype (sml::state<sub1>)>(sml::X));
333
333
expect (sm.is <decltype (sml::state<sub2>)>(sml::X));
0 commit comments