Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5909473

Browse files
committed
fix unittest switch should halt
1 parent b6ccb83 commit 5909473

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

tests/gtest_switch.cpp

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)