add another test to cover both cases for failing children

This commit is contained in:
v4hn 2021-08-15 15:03:59 +02:00
parent 3244ac92b1
commit 14380c5552

View File

@ -671,7 +671,7 @@ TEST(Task, timeout) {
EXPECT_EQ(t.solutions().size(), 2u);
}
TEST(Fallback, failing) {
TEST(Fallback, failingNoSolutions) {
resetMockupIds();
Task t;
t.setRobotModel(getModel());
@ -687,6 +687,22 @@ TEST(Fallback, failing) {
EXPECT_EQ(t.solutions().size(), 0u);
}
TEST(Fallback, failingWithFailedSolutions) {
resetMockupIds();
Task t;
t.setRobotModel(getModel());
t.add(std::make_unique<GeneratorMockup>(PredefinedCosts::single(0.0)));
auto fallback = std::make_unique<Fallbacks>("Fallbacks");
fallback->add(std::make_unique<ForwardMockup>(PredefinedCosts::constant(INF)));
fallback->add(std::make_unique<ForwardMockup>(PredefinedCosts::constant(INF)));
t.add(std::move(fallback));
EXPECT_FALSE(t.plan());
EXPECT_EQ(t.solutions().size(), 0u);
}
TEST(Fallback, DISABLED_ConnectStageInsideFallbacks) {
resetMockupIds();
Task t;