@@ -203,25 +203,28 @@ class TestDiffDriveController : public ::testing::Test
203203 return controller_->init (controller_name, urdf_, 0 , ns, node_options);
204204 }
205205
206- void expect_configure_succeeded (
207- std::unique_ptr<TestableDiffDriveController> & controller, bool succeeded)
206+ bool is_configure_succeeded (const std::unique_ptr<TestableDiffDriveController> & controller)
208207 {
209208 auto state = controller->configure ();
209+ return State::PRIMARY_STATE_INACTIVE == state.id ();
210+ }
210211
211- if (succeeded)
212- ASSERT_EQ (State::PRIMARY_STATE_INACTIVE, state.id ());
213- else
214- ASSERT_EQ (State::PRIMARY_STATE_UNCONFIGURED, state.id ());
212+ bool is_configure_failed (const std::unique_ptr<TestableDiffDriveController> & controller)
213+ {
214+ auto state = controller->configure ();
215+ return State::PRIMARY_STATE_UNCONFIGURED == state.id ();
216+ }
217+
218+ bool is_activate_succeeded (const std::unique_ptr<TestableDiffDriveController> & controller)
219+ {
220+ auto state = controller->get_node ()->activate ();
221+ return State::PRIMARY_STATE_ACTIVE == state.id ();
215222 }
216223
217- void expect_activate_succeeded (
218- std::unique_ptr<TestableDiffDriveController> & controller, bool succeeded)
224+ bool is_activate_failed (const std::unique_ptr<TestableDiffDriveController> & controller)
219225 {
220226 auto state = controller->get_node ()->activate ();
221- if (succeeded)
222- ASSERT_EQ (State::PRIMARY_STATE_ACTIVE, state.id ());
223- else
224- ASSERT_EQ (State::PRIMARY_STATE_UNCONFIGURED, state.id ());
227+ return State::PRIMARY_STATE_UNCONFIGURED == state.id ();
225228 }
226229
227230 std::string controller_name;
@@ -269,7 +272,7 @@ TEST_F(TestDiffDriveController, configure_fails_with_mismatching_wheel_side_size
269272 InitController (left_wheel_names, {right_wheel_names[0 ], " extra_wheel" }),
270273 controller_interface::return_type::OK);
271274
272- expect_configure_succeeded ( controller_, false );
275+ ASSERT_TRUE ( is_configure_failed ( controller_) );
273276}
274277
275278TEST_F (
@@ -278,7 +281,7 @@ TEST_F(
278281{
279282 ASSERT_EQ (InitController (), controller_interface::return_type::OK);
280283
281- expect_configure_succeeded ( controller_, true );
284+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
282285
283286 auto state_if_conf = controller_->state_interface_configuration ();
284287 ASSERT_THAT (state_if_conf.names , SizeIs (left_wheel_names.size () + right_wheel_names.size ()));
@@ -323,7 +326,7 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_false_no_names
323326 rclcpp::Parameter (" base_frame_id" , rclcpp::ParameterValue (base_link_id))}),
324327 controller_interface::return_type::OK);
325328
326- expect_configure_succeeded ( controller_, true );
329+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
327330
328331 auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
329332 std::string test_odom_frame_id = odometry_message.header .frame_id ;
@@ -348,7 +351,7 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_true_no_namesp
348351 rclcpp::Parameter (" base_frame_id" , rclcpp::ParameterValue (base_link_id))}),
349352 controller_interface::return_type::OK);
350353
351- expect_configure_succeeded ( controller_, true );
354+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
352355
353356 auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
354357 std::string test_odom_frame_id = odometry_message.header .frame_id ;
@@ -375,7 +378,7 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_no_names
375378 rclcpp::Parameter (" base_frame_id" , rclcpp::ParameterValue (base_link_id))}),
376379 controller_interface::return_type::OK);
377380
378- expect_configure_succeeded ( controller_, true );
381+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
379382
380383 auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
381384 std::string test_odom_frame_id = odometry_message.header .frame_id ;
@@ -404,7 +407,7 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_false_set_name
404407 test_namespace),
405408 controller_interface::return_type::OK);
406409
407- expect_configure_succeeded ( controller_, true );
410+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
408411
409412 auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
410413 std::string test_odom_frame_id = odometry_message.header .frame_id ;
@@ -432,7 +435,7 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_test_prefix_true_set_names
432435 test_namespace),
433436 controller_interface::return_type::OK);
434437
435- expect_configure_succeeded ( controller_, true );
438+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
436439
437440 auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
438441 std::string test_odom_frame_id = odometry_message.header .frame_id ;
@@ -461,7 +464,7 @@ TEST_F(TestDiffDriveController, configure_succeeds_tf_blank_prefix_true_set_name
461464 test_namespace),
462465 controller_interface::return_type::OK);
463466
464- expect_configure_succeeded ( controller_, true );
467+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
465468
466469 auto odometry_message = controller_->get_rt_odom_publisher ()->msg_ ;
467470 std::string test_odom_frame_id = odometry_message.header .frame_id ;
@@ -477,21 +480,21 @@ TEST_F(TestDiffDriveController, activate_fails_without_resources_assigned)
477480{
478481 ASSERT_EQ (InitController (), controller_interface::return_type::OK);
479482
480- expect_configure_succeeded ( controller_, true );
483+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
481484
482- expect_activate_succeeded ( controller_, false );
485+ ASSERT_TRUE ( is_activate_failed ( controller_) );
483486}
484487
485488TEST_F (TestDiffDriveController, activate_succeeds_with_pos_resources_assigned)
486489{
487490 ASSERT_EQ (InitController (), controller_interface::return_type::OK);
488491
489492 // We implicitly test that by default position feedback is required
490- expect_configure_succeeded ( controller_, true );
493+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
491494
492495 assignResourcesPosFeedback ();
493496
494- expect_activate_succeeded ( controller_, true );
497+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
495498}
496499
497500TEST_F (TestDiffDriveController, activate_succeeds_with_vel_resources_assigned)
@@ -502,11 +505,11 @@ TEST_F(TestDiffDriveController, activate_succeeds_with_vel_resources_assigned)
502505 {rclcpp::Parameter (" position_feedback" , rclcpp::ParameterValue (false ))}),
503506 controller_interface::return_type::OK);
504507
505- expect_configure_succeeded ( controller_, true );
508+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
506509
507510 assignResourcesVelFeedback ();
508511
509- expect_activate_succeeded ( controller_, true );
512+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
510513}
511514
512515TEST_F (TestDiffDriveController, activate_succeeds_with_open_loop_assigned)
@@ -552,11 +555,11 @@ TEST_F(TestDiffDriveController, test_speed_limiter)
552555 rclcpp::executors::SingleThreadedExecutor executor;
553556 executor.add_node (controller_->get_node ()->get_node_base_interface ());
554557
555- expect_configure_succeeded ( controller_, true );
558+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
556559
557560 assignResourcesPosFeedback ();
558561
559- expect_activate_succeeded ( controller_, true );
562+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
560563
561564 waitForSetup ();
562565
@@ -736,11 +739,11 @@ TEST_F(TestDiffDriveController, activate_fails_with_wrong_resources_assigned_1)
736739 {rclcpp::Parameter (" position_feedback" , rclcpp::ParameterValue (false ))}),
737740 controller_interface::return_type::OK);
738741
739- expect_configure_succeeded ( controller_, true );
742+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
740743
741744 assignResourcesPosFeedback ();
742745
743- expect_activate_succeeded ( controller_, false );
746+ ASSERT_TRUE ( is_activate_failed ( controller_) );
744747}
745748
746749TEST_F (TestDiffDriveController, activate_fails_with_wrong_resources_assigned_2)
@@ -751,11 +754,11 @@ TEST_F(TestDiffDriveController, activate_fails_with_wrong_resources_assigned_2)
751754 {rclcpp::Parameter (" position_feedback" , rclcpp::ParameterValue (true ))}),
752755 controller_interface::return_type::OK);
753756
754- expect_configure_succeeded ( controller_, true );
757+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
755758
756759 assignResourcesVelFeedback ();
757760
758- expect_activate_succeeded ( controller_, false );
761+ ASSERT_TRUE ( is_activate_failed ( controller_) );
759762}
760763
761764TEST_F (TestDiffDriveController, activate_silently_ignores_with_unnecessary_resources_assigned_1)
@@ -797,11 +800,11 @@ TEST_F(TestDiffDriveController, cleanup)
797800 rclcpp::executors::SingleThreadedExecutor executor;
798801 executor.add_node (controller_->get_node ()->get_node_base_interface ());
799802
800- expect_configure_succeeded ( controller_, true );
803+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
801804
802805 assignResourcesPosFeedback ();
803806
804- expect_activate_succeeded ( controller_, true );
807+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
805808
806809 waitForSetup ();
807810
@@ -849,14 +852,14 @@ TEST_F(TestDiffDriveController, correct_initialization_using_parameters)
849852 rclcpp::executors::SingleThreadedExecutor executor;
850853 executor.add_node (controller_->get_node ()->get_node_base_interface ());
851854
852- expect_configure_succeeded ( controller_, true );
855+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
853856
854857 assignResourcesPosFeedback ();
855858
856859 EXPECT_EQ (0.01 , left_wheel_vel_cmd_.get_optional ().value ());
857860 EXPECT_EQ (0.02 , right_wheel_vel_cmd_.get_optional ().value ());
858861
859- expect_activate_succeeded ( controller_, true );
862+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
860863
861864 // send msg
862865 const double linear = 1.0 ;
@@ -890,7 +893,7 @@ TEST_F(TestDiffDriveController, correct_initialization_using_parameters)
890893 EXPECT_EQ (0.0 , left_wheel_vel_cmd_.get_optional ().value ());
891894 EXPECT_EQ (0.0 , right_wheel_vel_cmd_.get_optional ().value ());
892895
893- expect_configure_succeeded ( controller_, true );
896+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
894897
895898 executor.cancel ();
896899}
@@ -916,11 +919,11 @@ TEST_F(TestDiffDriveController, chainable_controller_unchained_mode)
916919 ASSERT_TRUE (controller_->set_chained_mode (false ));
917920 ASSERT_FALSE (controller_->is_in_chained_mode ());
918921
919- expect_configure_succeeded ( controller_, true );
922+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
920923
921924 assignResourcesPosFeedback ();
922925
923- expect_activate_succeeded ( controller_, true );
926+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
924927
925928 waitForSetup ();
926929
@@ -986,7 +989,7 @@ TEST_F(TestDiffDriveController, chainable_controller_unchained_mode)
986989 EXPECT_EQ (0.0 , right_wheel_vel_cmd_.get_optional ().value ())
987990 << " Wheels should be halted on cleanup()" ;
988991
989- expect_configure_succeeded ( controller_, true );
992+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
990993
991994 executor.cancel ();
992995}
@@ -1011,11 +1014,11 @@ TEST_F(TestDiffDriveController, chainable_controller_chained_mode)
10111014 ASSERT_TRUE (controller_->set_chained_mode (true ));
10121015 ASSERT_TRUE (controller_->is_in_chained_mode ());
10131016
1014- expect_configure_succeeded ( controller_, true );
1017+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
10151018
10161019 assignResourcesPosFeedback ();
10171020
1018- expect_activate_succeeded ( controller_, true );
1021+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
10191022
10201023 waitForSetup ();
10211024
@@ -1064,7 +1067,7 @@ TEST_F(TestDiffDriveController, chainable_controller_chained_mode)
10641067 EXPECT_EQ (0.0 , right_wheel_vel_cmd_.get_optional ().value ())
10651068 << " Wheels should be halted on cleanup()" ;
10661069
1067- expect_configure_succeeded ( controller_, true );
1070+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
10681071
10691072 executor.cancel ();
10701073}
@@ -1074,7 +1077,7 @@ TEST_F(TestDiffDriveController, reference_interfaces_are_properly_exported)
10741077 ASSERT_EQ (
10751078 InitController (left_wheel_names, right_wheel_names), controller_interface::return_type::OK);
10761079
1077- expect_configure_succeeded ( controller_, true );
1080+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
10781081
10791082 auto reference_interfaces = controller_->export_reference_interfaces ();
10801083 ASSERT_EQ (reference_interfaces.size (), 2 )
@@ -1114,11 +1117,11 @@ TEST_F(TestDiffDriveController, deactivate_then_activate)
11141117
11151118 ASSERT_TRUE (controller_->set_chained_mode (false ));
11161119
1117- expect_configure_succeeded ( controller_, true );
1120+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
11181121
11191122 assignResourcesPosFeedback ();
11201123
1121- expect_activate_succeeded ( controller_, true );
1124+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
11221125
11231126 waitForSetup ();
11241127
@@ -1161,7 +1164,7 @@ TEST_F(TestDiffDriveController, deactivate_then_activate)
11611164 << " Wheels should be halted on deactivate()" ;
11621165
11631166 // Activate again
1164- expect_activate_succeeded ( controller_, true );
1167+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
11651168
11661169 waitForSetup ();
11671170
@@ -1210,11 +1213,11 @@ TEST_F(TestDiffDriveController, command_with_zero_timestamp_is_accepted_with_war
12101213
12111214 ASSERT_TRUE (controller_->set_chained_mode (false ));
12121215
1213- expect_configure_succeeded ( controller_, true );
1216+ ASSERT_TRUE ( is_configure_succeeded ( controller_) );
12141217
12151218 assignResourcesPosFeedback ();
12161219
1217- expect_activate_succeeded ( controller_, true );
1220+ ASSERT_TRUE ( is_activate_succeeded ( controller_) );
12181221
12191222 waitForSetup ();
12201223
0 commit comments