From 2bee9d5f6603a866edaa4cb619dc3a3974c6629c Mon Sep 17 00:00:00 2001 From: v4hn Date: Wed, 18 Aug 2021 12:39:46 +0200 Subject: [PATCH] rearrange fallback test fixtures --- core/test/stage_mockups.h | 17 +++++++++++++- core/test/test_fallback.cpp | 47 ++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/core/test/stage_mockups.h b/core/test/stage_mockups.h index fdab8afa..613f3222 100644 --- a/core/test/stage_mockups.h +++ b/core/test/stage_mockups.h @@ -1,8 +1,13 @@ #pragma once -#include +#include + #include +#include "models.h" + +#include + namespace moveit { namespace task_constructor { @@ -113,5 +118,15 @@ struct BackwardMockup : public PropagatorMockup // reset ids of all Mockup types (used to generate unique stage names) void resetMockupIds(); +// provide a basic test fixture that prepares a Task +struct TaskTestBase : public testing::Test +{ + Task t; + TaskTestBase() { + resetMockupIds(); + t.setRobotModel(getModel()); + } +}; + } // namespace task_constructor } // namespace moveit diff --git a/core/test/test_fallback.cpp b/core/test/test_fallback.cpp index 43470e57..19a6839c 100644 --- a/core/test/test_fallback.cpp +++ b/core/test/test_fallback.cpp @@ -17,18 +17,9 @@ using namespace moveit::task_constructor; constexpr double INF = std::numeric_limits::infinity(); -struct TestBase : public testing::Test -{ - Task t; - TestBase() { - resetMockupIds(); - t.setRobotModel(getModel()); - } -}; +using FallbacksFixturePropagate = TaskTestBase; -using FallbacksFixture = TestBase; - -TEST_F(FallbacksFixture, failingNoSolutions) { +TEST_F(FallbacksFixturePropagate, failingNoSolutions) { t.add(std::make_unique(PredefinedCosts::single(0.0))); auto fallback = std::make_unique("Fallbacks"); @@ -40,7 +31,7 @@ TEST_F(FallbacksFixture, failingNoSolutions) { EXPECT_EQ(t.solutions().size(), 0u); } -TEST_F(FallbacksFixture, failingWithFailedSolutions) { +TEST_F(FallbacksFixturePropagate, failingWithFailedSolutions) { t.add(std::make_unique(PredefinedCosts::single(0.0))); auto fallback = std::make_unique("Fallbacks"); @@ -52,20 +43,7 @@ TEST_F(FallbacksFixture, failingWithFailedSolutions) { EXPECT_EQ(t.solutions().size(), 0u); } -TEST_F(FallbacksFixture, DISABLED_ConnectStageInsideFallbacks) { - t.add(std::make_unique()); - - auto fallbacks = std::make_unique("Fallbacks"); - fallbacks->add(std::make_unique()); - t.add(std::move(fallbacks)); - - t.add(std::make_unique()); - - EXPECT_TRUE(t.plan()); - EXPECT_EQ(t.numSolutions(), 1u); -} - -TEST_F(FallbacksFixture, ComputeFirstSuccessfulStageOnly) { +TEST_F(FallbacksFixturePropagate, ComputeFirstSuccessfulStageOnly) { t.add(std::make_unique()); auto fallbacks = std::make_unique("Fallbacks"); @@ -77,7 +55,7 @@ TEST_F(FallbacksFixture, ComputeFirstSuccessfulStageOnly) { EXPECT_EQ(t.numSolutions(), 1u); } -TEST_F(FallbacksFixture, ActiveChildReset) { +TEST_F(FallbacksFixturePropagate, ActiveChildReset) { t.add(std::make_unique(PredefinedCosts{ { 0.0, INF, 0.0 } })); auto fallbacks = std::make_unique("Fallbacks"); @@ -90,3 +68,18 @@ TEST_F(FallbacksFixture, ActiveChildReset) { EXPECT_EQ(t.numSolutions(), 2u); EXPECT_EQ(first->solutions().size(), 2u); } + +using FallbacksFixtureConnect = TaskTestBase; + +TEST_F(FallbacksFixtureConnect, DISABLED_ConnectStageInsideFallbacks) { + t.add(std::make_unique()); + + auto fallbacks = std::make_unique("Fallbacks"); + fallbacks->add(std::make_unique()); + t.add(std::move(fallbacks)); + + t.add(std::make_unique()); + + EXPECT_TRUE(t.plan()); + EXPECT_EQ(t.numSolutions(), 1u); +}