Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | // | |||
2 | // Created by kifir on 11/4/24. | |||
3 | // | |||
4 | ||||
5 | #include "pch.h" | |||
6 | ||||
7 | #include "flat_shift_condition_test_base.h" | |||
8 | ||||
9 | namespace { | |||
10 | constexpr float TEST_LUA_SOFT_SPARK_SKIP = 1.23f; | |||
11 | constexpr float TEST_LUA_HARD_SPARK_SKIP = 4.56f; | |||
12 | ||||
13 | constexpr int8_t TEST_TORQUE_REDUCTION_IGNITION_CUT = 17; | |||
14 | ||||
15 | class ShiftTorqueReductionSparkSkipRatioTest : public FlatShiftConditionTestBase { | |||
16 | protected: | |||
17 | ShiftTorqueReductionSparkSkipRatioTest(); | |||
18 | ||||
19 | void SetUp() override; | |||
20 | ||||
21 | void checkTargetSkipRatios( | |||
22 | const char* context, | |||
23 | float expectedHardSparkLimiterTargetSkipRatio = TEST_LUA_HARD_SPARK_SKIP | |||
24 | ); | |||
25 | }; | |||
26 | ||||
27 | 1 | ShiftTorqueReductionSparkSkipRatioTest::ShiftTorqueReductionSparkSkipRatioTest() | ||
28 | 1 | : FlatShiftConditionTestBase(TEST_TORQUE_REDUCTION_IGNITION_CUT, 0.0f) { | ||
29 | 1 | } | ||
30 | ||||
31 | 1 | void ShiftTorqueReductionSparkSkipRatioTest::SetUp() { | ||
32 | 1 | FlatShiftConditionTestBase::SetUp(); | ||
33 | ||||
34 | 1 | getTestLuaScriptExecutor().setSparkSkipRatio(TEST_LUA_SOFT_SPARK_SKIP); | ||
35 | 1 | getTestLuaScriptExecutor().setSparkHardSkipRatio(TEST_LUA_HARD_SPARK_SKIP); | ||
36 | 1 | } | ||
37 | ||||
38 | 3 | void ShiftTorqueReductionSparkSkipRatioTest::checkTargetSkipRatios( | ||
39 | const char* const context, | |||
40 | const float expectedHardSparkLimiterTargetSkipRatio | |||
41 | ) { | |||
42 | 3 | periodicFastCallback(); | ||
43 |
2/7✓ Branch 4 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
3 | EXPECT_EQ(engine->softSparkLimiter.getTargetSkipRatio(), TEST_LUA_SOFT_SPARK_SKIP) << context; | |
44 |
2/7✓ Branch 4 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
3 | EXPECT_EQ(engine->hardSparkLimiter.getTargetSkipRatio(), expectedHardSparkLimiterTargetSkipRatio) << context; | |
45 | 3 | } | ||
46 | ||||
47 | 4 | TEST_F(ShiftTorqueReductionSparkSkipRatioTest, checkHardSparkLimiterTargetSkipRatio) { | ||
48 | 1 | checkTargetSkipRatios("Initial state"); | ||
49 | ||||
50 | 1 | satisfyFlatShiftCondition(); | ||
51 | 1 | checkTargetSkipRatios( | ||
52 | "Flat Shift condition is satisfied", | |||
53 | TEST_LUA_HARD_SPARK_SKIP + TEST_TORQUE_REDUCTION_IGNITION_CUT / 100.0f | |||
54 | ); | |||
55 | ||||
56 | 1 | unsatisfyFlatShiftCondition(); | ||
57 | 1 | checkTargetSkipRatios("Flat Shift condition is not satisfied"); | ||
58 | 1 | } | ||
59 | } | |||
60 |