feat(retake_scheduler): Add 2 additional unit tests

This commit is contained in:
2025-10-09 16:34:36 +02:00
parent 44f6e4e8cc
commit 671fa84b73

View File

@@ -91,6 +91,33 @@ TEST_F(RetakeSchedulerTest, ParameterTest) {
create_retake_scheduler();
// Test default parameter value
auto param = retake_scheduler_->get_parameter("retake_check_interval");
auto param = retake_scheduler_->get_parameter("retake_check_interval_sec");
EXPECT_EQ(param.as_int(), 120) << "Default retake_check_interval should be 120 seconds";
}
TEST_F(RetakeSchedulerTest, ActionClientAllServicesPresentTest) {
create_retake_scheduler();
// Verify all 3 action services are visible on the graph
auto service_names_and_types = retake_scheduler_->get_service_names_and_types();
bool has_cancel = false, has_get_result = false, has_send_goal = false;
for (const auto& [ service_name, _ ] : service_names_and_types) {
if (service_name == "/retake_action/_action/cancel_goal") has_cancel = true;
if (service_name == "/retake_action/_action/get_result") has_get_result = true;
if (service_name == "/retake_action/_action/send_goal") has_send_goal = true;
}
EXPECT_TRUE(has_cancel) << "cancel_goal service should be available";
EXPECT_TRUE(has_get_result) << "get_result service should be available";
EXPECT_TRUE(has_send_goal) << "send_goal service should be available";
}
TEST_F(RetakeSchedulerTest, ConstructorWithNullDatabaseManager) {
// Explicitly construct with nullptr to exercise optional DB manager path
ASSERT_NO_THROW({
retake_scheduler_ = std::make_shared<RetakeScheduler>(nullptr);
});
ASSERT_NE(retake_scheduler_, nullptr);
}