@@ -52,11 +52,11 @@ TEST_F(SwitchTest, DefaultCase)
5252 ASSERT_EQ (NodeStatus::RUNNING, state);
5353
5454 std::this_thread::sleep_for (milliseconds (110 ));
55+ state = root->executeTick ();
5556
56- // Switch Node does not halt action after success ?
5757 ASSERT_EQ (NodeStatus::IDLE, action_1.status ());
5858 ASSERT_EQ (NodeStatus::IDLE, action_2.status ());
59- ASSERT_EQ (NodeStatus::SUCCESS , action_3.status ());
59+ ASSERT_EQ (NodeStatus::IDLE , action_3.status ());
6060 ASSERT_EQ (NodeStatus::SUCCESS, state);
6161}
6262
@@ -71,8 +71,9 @@ TEST_F(SwitchTest, Case1)
7171 ASSERT_EQ (NodeStatus::RUNNING, state);
7272
7373 std::this_thread::sleep_for (milliseconds (110 ));
74+ state = root->executeTick ();
7475
75- ASSERT_EQ (NodeStatus::SUCCESS , action_1.status ());
76+ ASSERT_EQ (NodeStatus::IDLE , action_1.status ());
7677 ASSERT_EQ (NodeStatus::IDLE, action_2.status ());
7778 ASSERT_EQ (NodeStatus::IDLE, action_3.status ());
7879 ASSERT_EQ (NodeStatus::SUCCESS, state);
@@ -89,9 +90,10 @@ TEST_F(SwitchTest, Case2)
8990 ASSERT_EQ (NodeStatus::RUNNING, state);
9091
9192 std::this_thread::sleep_for (milliseconds (110 ));
93+ state = root->executeTick ();
9294
9395 ASSERT_EQ (NodeStatus::IDLE, action_1.status ());
94- ASSERT_EQ (NodeStatus::SUCCESS , action_2.status ());
96+ ASSERT_EQ (NodeStatus::IDLE , action_2.status ());
9597 ASSERT_EQ (NodeStatus::IDLE, action_3.status ());
9698 ASSERT_EQ (NodeStatus::SUCCESS, state);
9799}
@@ -107,10 +109,11 @@ TEST_F(SwitchTest, CaseNone)
107109 ASSERT_EQ (NodeStatus::RUNNING, state);
108110
109111 std::this_thread::sleep_for (milliseconds (110 ));
112+ state = root->executeTick ();
110113
111114 ASSERT_EQ (NodeStatus::IDLE, action_1.status ());
112115 ASSERT_EQ (NodeStatus::IDLE, action_2.status ());
113- ASSERT_EQ (NodeStatus::SUCCESS , action_3.status ());
116+ ASSERT_EQ (NodeStatus::IDLE , action_3.status ());
114117 ASSERT_EQ (NodeStatus::SUCCESS, state);
115118}
116119
@@ -131,8 +134,8 @@ TEST_F(SwitchTest, CaseSwitchToDefault)
131134 ASSERT_EQ (NodeStatus::IDLE, action_3.status ());
132135 ASSERT_EQ (NodeStatus::RUNNING, state);
133136
134- // Switch Node feels changes only when tick ? (no while loop inside,
135- // not reactive)
137+ // Switch Node does not feels changes. Only when tick.
138+ // ( not reactive)
136139 std::this_thread::sleep_for (milliseconds (10 ));
137140 bb->set (" variable" , " " );
138141 std::this_thread::sleep_for (milliseconds (10 ));
@@ -149,10 +152,11 @@ TEST_F(SwitchTest, CaseSwitchToDefault)
149152 ASSERT_EQ (NodeStatus::RUNNING, state);
150153
151154 std::this_thread::sleep_for (milliseconds (110 ));
155+ state = root->executeTick ();
152156
153157 ASSERT_EQ (NodeStatus::IDLE, action_1.status ());
154158 ASSERT_EQ (NodeStatus::IDLE, action_2.status ());
155- ASSERT_EQ (NodeStatus::SUCCESS , action_3.status ());
159+ ASSERT_EQ (NodeStatus::IDLE , action_3.status ());
156160 ASSERT_EQ (NodeStatus::SUCCESS, root->status ());
157161}
158162
@@ -175,9 +179,10 @@ TEST_F(SwitchTest, CaseSwitchToAction2)
175179 ASSERT_EQ (NodeStatus::RUNNING, state);
176180
177181 std::this_thread::sleep_for (milliseconds (110 ));
182+ state = root->executeTick ();
178183
179184 ASSERT_EQ (NodeStatus::IDLE, action_1.status ());
180- ASSERT_EQ (NodeStatus::SUCCESS , action_2.status ());
185+ ASSERT_EQ (NodeStatus::IDLE , action_2.status ());
181186 ASSERT_EQ (NodeStatus::IDLE, action_3.status ());
182187 ASSERT_EQ (NodeStatus::SUCCESS, root->status ());
183188}
@@ -192,19 +197,18 @@ TEST_F(SwitchTest, ActionFailure)
192197 ASSERT_EQ (NodeStatus::IDLE, action_3.status ());
193198 ASSERT_EQ (NodeStatus::RUNNING, state);
194199
195- // Switch Node does not halt after failure ?
196200 std::this_thread::sleep_for (milliseconds (10 ));
197201 action_1.setStatus (NodeStatus::FAILURE);
198202 state = root->executeTick ();
199203 ASSERT_EQ (NodeStatus::FAILURE, action_1.status ());
200204 ASSERT_EQ (NodeStatus::IDLE, action_2.status ());
201205 ASSERT_EQ (NodeStatus::IDLE, action_3.status ());
202- ASSERT_EQ (NodeStatus::FAILURE , state);
206+ ASSERT_EQ (NodeStatus::IDLE , state);
203207
204208 state = root->executeTick ();
205209 state = root->executeTick ();
206210 ASSERT_EQ (NodeStatus::FAILURE, action_1.status ());
207211 ASSERT_EQ (NodeStatus::IDLE, action_2.status ());
208212 ASSERT_EQ (NodeStatus::IDLE, action_3.status ());
209- ASSERT_EQ (NodeStatus::FAILURE , state);
213+ ASSERT_EQ (NodeStatus::IDLE , state);
210214}
0 commit comments