diff --git a/unit_tests/tests/actuators/boost/boost_test_base.cpp b/unit_tests/tests/actuators/boost/boost_test_base.cpp index da28f7ce4a..1a25b205c0 100644 --- a/unit_tests/tests/actuators/boost/boost_test_base.cpp +++ b/unit_tests/tests/actuators/boost/boost_test_base.cpp @@ -13,14 +13,12 @@ const BoostTestBase::ValueByIndexRetriever BoostTestBase::emptyValue = [](const void BoostTestBase::SetUp() { TestBase::SetUp(); - bc = std::make_unique(); - initBoostControllerTables(); + initBoostCtrl(); Sensor::resetAllMocks(); } void BoostTestBase::TearDown() { - bc.reset(); TestBase::TearDown(); } @@ -34,31 +32,10 @@ void BoostTestBase::initTestBoostCurve( initBoostCurveArray(testValues, dstValues); } -void BoostTestBase::initBoostCurveArray(const float (&src)[BOOST_CURVE_SIZE], float (&dst)[BOOST_CURVE_SIZE]) { - std::copy(std::begin(src), std::end(src), std::begin(dst)); +BoostController& BoostTestBase::getBoostController() const { + return engine->module().unmock(); } -void BoostTestBase::initBoostControllerTables() { - // The code below is very similar to code in file boost_control.cpp - // TODO: think how we can get rid of duplicated code - - // Set up open & closed loop tables - boostMapOpen.initTable(config->boostTableOpenLoop, config->boostRpmBins, config->boostTpsBins); - boostMapClosed.initTable(config->boostTableClosedLoop, config->boostRpmBins, config->boostTpsBins); - boostCltCorr.initTable(config->cltBoostCorr, config->cltBoostCorrBins); - boostIatCorr.initTable(config->iatBoostCorr, config->iatBoostCorrBins); - boostCltAdder.initTable(config->cltBoostAdder, config->cltBoostAdderBins); - boostIatAdder.initTable(config->iatBoostAdder, config->iatBoostAdderBins); - - // Set up boost controller instance - bc->init( - &boostPwmControl, - &boostMapOpen, - &boostMapClosed, - boostCltCorr, - boostIatCorr, - boostCltAdder, - boostIatAdder, - &engineConfiguration->boostPid - ); +void BoostTestBase::initBoostCurveArray(const float (&src)[BOOST_CURVE_SIZE], float (&dst)[BOOST_CURVE_SIZE]) { + std::copy(std::begin(src), std::end(src), std::begin(dst)); } \ No newline at end of file diff --git a/unit_tests/tests/actuators/boost/boost_test_base.h b/unit_tests/tests/actuators/boost/boost_test_base.h index 5790ce0976..2428ffce43 100644 --- a/unit_tests/tests/actuators/boost/boost_test_base.h +++ b/unit_tests/tests/actuators/boost/boost_test_base.h @@ -22,10 +22,9 @@ protected: float (&dstValues)[BOOST_CURVE_SIZE] ); - std::unique_ptr bc; + BoostController& getBoostController() const; private: void initBoostCurveArray(const float (&src)[BOOST_CURVE_SIZE], float (&dst)[BOOST_CURVE_SIZE]); - void initBoostControllerTables(); Map3D boostMapOpen{ "bo" }; Map3D boostMapClosed{ "bc" }; diff --git a/unit_tests/tests/actuators/boost/test_closed_loop_adders.cpp b/unit_tests/tests/actuators/boost/test_closed_loop_adders.cpp index 6d9f826b3a..da6e01ec6e 100644 --- a/unit_tests/tests/actuators/boost/test_closed_loop_adders.cpp +++ b/unit_tests/tests/actuators/boost/test_closed_loop_adders.cpp @@ -65,8 +65,8 @@ namespace { } void ClosedLoopAddersTest::initLuaTargetCorrections(const float luaTargetMult, const int luaTargetAdd) { - bc->luaTargetMult = luaTargetMult; - bc->luaTargetAdd = luaTargetAdd; + getBoostController().luaTargetMult = luaTargetMult; + getBoostController().luaTargetAdd = luaTargetAdd; } std::optional ClosedLoopAddersTest::getTestCltBoostBin(const int index) { @@ -102,7 +102,7 @@ namespace { if (iat.has_value()) { Sensor::setMockValue(SensorType::Iat, iat.value()); } - const expected setPoint = bc->getSetpoint(); + const expected setPoint = getBoostController().getSetpoint(); EXPECT_TRUE(setPoint.Valid) << "clt: " << clt.value_or(-1) << ", iat: " << iat.value_or(-1) ; ASSERT_NEAR(setPoint.Value, expectedSetPoint, EPS5D) << "clt: " << clt.value_or(-1) << ", iat: " << iat.value_or(-1) ; diff --git a/unit_tests/tests/actuators/boost/test_open_loop_multipliers.cpp b/unit_tests/tests/actuators/boost/test_open_loop_multipliers.cpp index b893ac2f77..6ea140ca7b 100644 --- a/unit_tests/tests/actuators/boost/test_open_loop_multipliers.cpp +++ b/unit_tests/tests/actuators/boost/test_open_loop_multipliers.cpp @@ -53,7 +53,7 @@ namespace { } void OpenLoopMultipliersTest::initLuaOpenLoopAdd(const float value) { - bc->luaOpenLoopAdd = value; + getBoostController().luaOpenLoopAdd = value; } std::optional OpenLoopMultipliersTest::getTestCltBoostBin(const int index) { @@ -85,7 +85,7 @@ namespace { if (iat.has_value()) { Sensor::setMockValue(SensorType::Iat, iat.value()); } - const expected openLoop = bc->getOpenLoop(0.0f); + const expected openLoop = getBoostController().getOpenLoop(0.0f); EXPECT_TRUE(openLoop.Valid) << "clt: " << clt.value_or(-1) << ", iat: " << iat.value_or(-1) ; EXPECT_EQ(openLoop.Value, expectedOpenLoop) << "clt: " << clt.value_or(-1) << ", iat: " << iat.value_or(-1) ; }