@@ -73,7 +73,13 @@ class TestableDiffDriveController : public diff_drive_controller::DiffDriveContr
7373 {
7474 return realtime_odometry_publisher_;
7575 }
76-
76+ // Declare these tests as friends so we can access odometry_message_
77+ FRIEND_TEST (TestDiffDriveController, configure_succeeds_tf_test_prefix_false_no_namespace);
78+ FRIEND_TEST (TestDiffDriveController, configure_succeeds_tf_test_prefix_true_no_namespace);
79+ FRIEND_TEST (TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_no_namespace);
80+ FRIEND_TEST (TestDiffDriveController, configure_succeeds_tf_test_prefix_false_set_namespace);
81+ FRIEND_TEST (TestDiffDriveController, configure_succeeds_tf_test_prefix_true_set_namespace);
82+ FRIEND_TEST (TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_set_namespace);
7783 // Declare these tests as friends so we can access controller_->reference_interfaces_
7884 FRIEND_TEST (TestDiffDriveController, chainable_controller_unchained_mode);
7985 FRIEND_TEST (TestDiffDriveController, chainable_controller_chained_mode);
@@ -311,12 +317,9 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_false_no_names
311317
312318 ASSERT_EQ (controller_->on_configure (rclcpp_lifecycle::State ()), CallbackReturn::SUCCESS);
313319
314- auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
315- std::string test_odom_frame_id = odometry_message.header .frame_id ;
316- std::string test_base_frame_id = odometry_message.child_frame_id ;
317320 /* tf_frame_prefix_enable is false so no modifications to the frame id's */
318- ASSERT_EQ (test_odom_frame_id , odom_id);
319- ASSERT_EQ (test_base_frame_id , base_link_id);
321+ ASSERT_EQ (controller_-> odometry_message_ . header . frame_id , odom_id);
322+ ASSERT_EQ (controller_-> odometry_message_ . child_frame_id , base_link_id);
320323}
321324
322325TEST_F (TestDiffDriveController, configure_succeeds_tf_test_prefix_true_no_namespace)
@@ -336,14 +339,10 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_true_no_namesp
336339
337340 ASSERT_EQ (controller_->on_configure (rclcpp_lifecycle::State ()), CallbackReturn::SUCCESS);
338341
339- auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
340- std::string test_odom_frame_id = odometry_message.header .frame_id ;
341- std::string test_base_frame_id = odometry_message.child_frame_id ;
342-
343342 /* tf_frame_prefix_enable is true and frame_prefix is not blank so should be appended to the frame
344343 * id's */
345- ASSERT_EQ (test_odom_frame_id , frame_prefix + " /" + odom_id);
346- ASSERT_EQ (test_base_frame_id , frame_prefix + " /" + base_link_id);
344+ ASSERT_EQ (controller_-> odometry_message_ . header . frame_id , frame_prefix + " /" + odom_id);
345+ ASSERT_EQ (controller_-> odometry_message_ . child_frame_id , frame_prefix + " /" + base_link_id);
347346}
348347
349348TEST_F (TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_no_namespace)
@@ -363,13 +362,10 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_no_names
363362
364363 ASSERT_EQ (controller_->on_configure (rclcpp_lifecycle::State ()), CallbackReturn::SUCCESS);
365364
366- auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
367- std::string test_odom_frame_id = odometry_message.header .frame_id ;
368- std::string test_base_frame_id = odometry_message.child_frame_id ;
369365 /* tf_frame_prefix_enable is true but frame_prefix is blank so should not be appended to the frame
370366 * id's */
371- ASSERT_EQ (test_odom_frame_id , odom_id);
372- ASSERT_EQ (test_base_frame_id , base_link_id);
367+ ASSERT_EQ (controller_-> odometry_message_ . header . frame_id , odom_id);
368+ ASSERT_EQ (controller_-> odometry_message_ . child_frame_id , base_link_id);
373369}
374370
375371TEST_F (TestDiffDriveController, configure_succeeds_tf_test_prefix_false_set_namespace)
@@ -392,12 +388,9 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_false_set_name
392388
393389 ASSERT_EQ (controller_->on_configure (rclcpp_lifecycle::State ()), CallbackReturn::SUCCESS);
394390
395- auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
396- std::string test_odom_frame_id = odometry_message.header .frame_id ;
397- std::string test_base_frame_id = odometry_message.child_frame_id ;
398391 /* tf_frame_prefix_enable is false so no modifications to the frame id's */
399- ASSERT_EQ (test_odom_frame_id , odom_id);
400- ASSERT_EQ (test_base_frame_id , base_link_id);
392+ ASSERT_EQ (controller_-> odometry_message_ . header . frame_id , odom_id);
393+ ASSERT_EQ (controller_-> odometry_message_ . child_frame_id , base_link_id);
401394}
402395
403396TEST_F (TestDiffDriveController, configure_succeeds_tf_test_prefix_true_set_namespace)
@@ -420,14 +413,10 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_true_set_names
420413
421414 ASSERT_EQ (controller_->on_configure (rclcpp_lifecycle::State ()), CallbackReturn::SUCCESS);
422415
423- auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
424- std::string test_odom_frame_id = odometry_message.header .frame_id ;
425- std::string test_base_frame_id = odometry_message.child_frame_id ;
426-
427416 /* tf_frame_prefix_enable is true and frame_prefix is not blank so should be appended to the frame
428417 * id's instead of the namespace*/
429- ASSERT_EQ (test_odom_frame_id , frame_prefix + " /" + odom_id);
430- ASSERT_EQ (test_base_frame_id , frame_prefix + " /" + base_link_id);
418+ ASSERT_EQ (controller_-> odometry_message_ . header . frame_id , frame_prefix + " /" + odom_id);
419+ ASSERT_EQ (controller_-> odometry_message_ . child_frame_id , frame_prefix + " /" + base_link_id);
431420}
432421
433422TEST_F (TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_set_namespace)
@@ -449,14 +438,11 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_set_name
449438
450439 ASSERT_EQ (controller_->on_configure (rclcpp_lifecycle::State ()), CallbackReturn::SUCCESS);
451440
452- auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
453- std::string test_odom_frame_id = odometry_message.header .frame_id ;
454- std::string test_base_frame_id = odometry_message.child_frame_id ;
455441 std::string ns_prefix = test_namespace.erase (0 , 1 ) + " /" ;
456442 /* tf_frame_prefix_enable is true but frame_prefix is blank so namespace should be appended to the
457443 * frame id's */
458- ASSERT_EQ (test_odom_frame_id , ns_prefix + odom_id);
459- ASSERT_EQ (test_base_frame_id , ns_prefix + base_link_id);
444+ ASSERT_EQ (controller_-> odometry_message_ . header . frame_id , ns_prefix + odom_id);
445+ ASSERT_EQ (controller_-> odometry_message_ . child_frame_id , ns_prefix + base_link_id);
460446}
461447
462448TEST_F (TestDiffDriveController, activate_fails_without_resources_assigned)
0 commit comments