@@ -194,13 +194,77 @@ TEST(PoseStampedPortTest, test_correct_syntax)
194
194
EXPECT_EQ (value.pose .orientation .w , 7.0 );
195
195
}
196
196
197
+ TEST (PoseStampedVectorPortTest, test_wrong_syntax)
198
+ {
199
+ std::string xml_txt =
200
+ R"(
201
+ <root BTCPP_format="4">
202
+ <BehaviorTree ID="MainTree">
203
+ <PoseStampedVectorPortTest test="0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;map;1.0;2.0;3.0;4.0;5.0;6.0" />
204
+ </BehaviorTree>
205
+ </root>)" ;
206
+
207
+ BT::BehaviorTreeFactory factory;
208
+ factory.registerNodeType <TestNode<std::vector<geometry_msgs::msg::PoseStamped>>>(
209
+ " PoseStampedVectorPortTest" );
210
+ EXPECT_THROW (factory.createTreeFromText (xml_txt), std::exception );
211
+
212
+ xml_txt =
213
+ R"(
214
+ <root BTCPP_format="4">
215
+ <BehaviorTree ID="MainTree">
216
+ <PoseStampedVectorPortTest test="0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;8.0" />
217
+ </BehaviorTree>
218
+ </root>)" ;
219
+
220
+ EXPECT_THROW (factory.createTreeFromText (xml_txt), std::exception );
221
+ }
222
+
223
+ TEST (PoseStampedVectorPortTest, test_correct_syntax)
224
+ {
225
+ std::string xml_txt =
226
+ R"(
227
+ <root BTCPP_format="4">
228
+ <BehaviorTree ID="MainTree">
229
+ <PoseStampedVectorPortTest test="0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;odom;8.0;9.0;10.0;11.0;12.0;13.0;14.0" />
230
+ </BehaviorTree>
231
+ </root>)" ;
232
+
233
+ BT::BehaviorTreeFactory factory;
234
+ factory.registerNodeType <TestNode<std::vector<geometry_msgs::msg::PoseStamped>>>(
235
+ " PoseStampedVectorPortTest" );
236
+ auto tree = factory.createTreeFromText (xml_txt);
237
+
238
+ tree = factory.createTreeFromText (xml_txt);
239
+ std::vector<geometry_msgs::msg::PoseStamped> values;
240
+ tree.rootNode ()->getInput (" test" , values);
241
+ EXPECT_EQ (rclcpp::Time (values[0 ].header .stamp ).nanoseconds (), 0 );
242
+ EXPECT_EQ (values[0 ].header .frame_id , " map" );
243
+ EXPECT_EQ (values[0 ].pose .position .x , 1.0 );
244
+ EXPECT_EQ (values[0 ].pose .position .y , 2.0 );
245
+ EXPECT_EQ (values[0 ].pose .position .z , 3.0 );
246
+ EXPECT_EQ (values[0 ].pose .orientation .x , 4.0 );
247
+ EXPECT_EQ (values[0 ].pose .orientation .y , 5.0 );
248
+ EXPECT_EQ (values[0 ].pose .orientation .z , 6.0 );
249
+ EXPECT_EQ (values[0 ].pose .orientation .w , 7.0 );
250
+ EXPECT_EQ (rclcpp::Time (values[1 ].header .stamp ).nanoseconds (), 0 );
251
+ EXPECT_EQ (values[1 ].header .frame_id , " odom" );
252
+ EXPECT_EQ (values[1 ].pose .position .x , 8.0 );
253
+ EXPECT_EQ (values[1 ].pose .position .y , 9.0 );
254
+ EXPECT_EQ (values[1 ].pose .position .z , 10.0 );
255
+ EXPECT_EQ (values[1 ].pose .orientation .x , 11.0 );
256
+ EXPECT_EQ (values[1 ].pose .orientation .y , 12.0 );
257
+ EXPECT_EQ (values[1 ].pose .orientation .z , 13.0 );
258
+ EXPECT_EQ (values[1 ].pose .orientation .w , 14.0 );
259
+ }
260
+
197
261
TEST (PoseStampedArrayPortTest, test_wrong_syntax)
198
262
{
199
263
std::string xml_txt =
200
264
R"(
201
265
<root BTCPP_format="4">
202
266
<BehaviorTree ID="MainTree">
203
- <PoseStampedArrayPortTest test="0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;map;1.0;2.0;3.0;4.0;5.0;6.0" />
267
+ <PoseStampedArrayPortTest test="0;map;0;map; 1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;map;1.0;2.0;3.0;4.0;5.0;6.0" />
204
268
</BehaviorTree>
205
269
</root>)" ;
206
270
@@ -213,7 +277,7 @@ TEST(PoseStampedArrayPortTest, test_wrong_syntax)
213
277
R"(
214
278
<root BTCPP_format="4">
215
279
<BehaviorTree ID="MainTree">
216
- <PoseStampedArrayPortTest test="0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;8.0" />
280
+ <PoseStampedArrayPortTest test="0;map;0;map; 1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;8.0" />
217
281
</BehaviorTree>
218
282
</root>)" ;
219
283
@@ -226,7 +290,7 @@ TEST(PoseStampedArrayPortTest, test_correct_syntax)
226
290
R"(
227
291
<root BTCPP_format="4">
228
292
<BehaviorTree ID="MainTree">
229
- <PoseStampedArrayPortTest test="0;map;1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;odom;8.0;9.0;10.0;11.0;12.0;13.0;14.0" />
293
+ <PoseStampedArrayPortTest test="0;map;0;map; 1.0;2.0;3.0;4.0;5.0;6.0;7.0;0;odom;8.0;9.0;10.0;11.0;12.0;13.0;14.0" />
230
294
</BehaviorTree>
231
295
</root>)" ;
232
296
0 commit comments