Skip to content

Commit 3761a92

Browse files
committed
create and use bool functions with assert to verify success/failure
1 parent 481494c commit 3761a92

File tree

3 files changed

+107
-102
lines changed

3 files changed

+107
-102
lines changed

diff_drive_controller/test/test_diff_drive_controller.cpp

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

275278
TEST_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

485488
TEST_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

497500
TEST_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

512515
TEST_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

746749
TEST_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

761764
TEST_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

Comments
 (0)