From 14380c555286360a0c5232b9290082f18c10f760 Mon Sep 17 00:00:00 2001 From: v4hn Date: Sun, 15 Aug 2021 15:03:59 +0200 Subject: [PATCH] add another test to cover both cases for failing children --- core/test/test_container.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/core/test/test_container.cpp b/core/test/test_container.cpp index e7165261..0c04f13b 100644 --- a/core/test/test_container.cpp +++ b/core/test/test_container.cpp @@ -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(PredefinedCosts::single(0.0))); + + auto fallback = std::make_unique("Fallbacks"); + fallback->add(std::make_unique(PredefinedCosts::constant(INF))); + fallback->add(std::make_unique(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;