add tests for targetSkipRatio calculation #6528
This commit is contained in:
parent
110218c78a
commit
fee1602fd9
|
@ -49,6 +49,7 @@ public:
|
|||
* targetSkipRatio of '0' means 'do not skip', would always return false
|
||||
*/
|
||||
void setTargetSkipRatio(float targetSkipRatio);
|
||||
[[nodiscard]] float getTargetSkipRatio() const { return targetSkipRatio; }
|
||||
|
||||
bool shouldSkip();
|
||||
private:
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
//
|
||||
// Created by kifir on 5/17/24.
|
||||
//
|
||||
|
||||
#include "pch.h"
|
||||
|
||||
constexpr float TEST_TRACTION_CONTROL_IGNITION_SKIP = 17.0f;
|
||||
constexpr float TEST_LUA_SOFT_SPARK_SKIP = 239.0f;
|
||||
constexpr float TEST_LUA_HARD_SPARK_SKIP = 174.0f;
|
||||
|
||||
static void setUpTestParameters() {
|
||||
std::fill_n(
|
||||
&engineConfiguration->tractionControlIgnitionSkip[0][0],
|
||||
TRACTION_CONTROL_ETB_DROP_SIZE * TRACTION_CONTROL_ETB_DROP_SIZE,
|
||||
static_cast<int8_t>(TEST_TRACTION_CONTROL_IGNITION_SKIP)
|
||||
);
|
||||
engine->engineState.luaSoftSparkSkip = TEST_LUA_SOFT_SPARK_SKIP;
|
||||
engine->engineState.luaHardSparkSkip = TEST_LUA_HARD_SPARK_SKIP;
|
||||
}
|
||||
|
||||
TEST(targetSkipRatio, doNotUseSkipInTraction) {
|
||||
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
||||
|
||||
setUpTestParameters();
|
||||
EXPECT_FALSE(engineConfiguration->useHardSkipInTraction);
|
||||
|
||||
eth.engine.periodicFastCallback();
|
||||
EXPECT_EQ(engine->softSparkLimiter.getTargetSkipRatio(), TEST_LUA_SOFT_SPARK_SKIP + TEST_TRACTION_CONTROL_IGNITION_SKIP);
|
||||
EXPECT_EQ(engine->hardSparkLimiter.getTargetSkipRatio(), TEST_LUA_HARD_SPARK_SKIP);
|
||||
}
|
||||
|
||||
TEST(targetSkipRatio, useSkipInTraction) {
|
||||
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
||||
|
||||
setUpTestParameters();
|
||||
engineConfiguration->useHardSkipInTraction = true;
|
||||
|
||||
eth.engine.periodicFastCallback();
|
||||
EXPECT_EQ(engine->softSparkLimiter.getTargetSkipRatio(), TEST_LUA_SOFT_SPARK_SKIP);
|
||||
EXPECT_EQ(engine->hardSparkLimiter.getTargetSkipRatio(), TEST_LUA_HARD_SPARK_SKIP + TEST_TRACTION_CONTROL_IGNITION_SKIP);
|
||||
}
|
|
@ -44,6 +44,7 @@ TESTS_SRC_CPP = \
|
|||
tests/ignition_injection/test_fuel_computer.cpp \
|
||||
tests/ignition_injection/test_injector_model.cpp \
|
||||
tests/ignition_injection/test_odd_firing_engine.cpp \
|
||||
tests/launch/test_target_skip_ratio.cpp \
|
||||
tests/lua/test_lua_basic.cpp \
|
||||
tests/lua/test_lookup.cpp \
|
||||
tests/lua/test_lua_e38.cpp \
|
||||
|
|
Loading…
Reference in New Issue