| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | // | |||
| 2 | // Created by kifir on 5/22/24. | |||
| 3 | // | |||
| 4 | // Tests for ticket https://github.com/rusefi/rusefi/issues/6533 | |||
| 5 | // | |||
| 6 | ||||
| 7 | #include "pch.h" | |||
| 8 | ||||
| 9 | constexpr int TEST_LAUNCH_RPM = 2500; | |||
| 10 | constexpr int TEST_LAUNCH_RPM_WINDOW = 1000; | |||
| 11 | ||||
| 12 | 2 | static void setUpTestParameters() { | ||
| 13 | 2 | engineConfiguration->launchControlEnabled = true; | ||
| 14 | 2 | engineConfiguration->launchRpm = TEST_LAUNCH_RPM; | ||
| 15 | 2 | engineConfiguration->launchRpmWindow = TEST_LAUNCH_RPM_WINDOW; | ||
| 16 | 2 | engineConfiguration->launchSparkCutEnable = true; | ||
| 17 | ||||
| 18 | 2 | engineConfiguration->launchActivationMode = ALWAYS_ACTIVE_LAUNCH; // to satisfy activateSwitchCondition | ||
| 19 | 2 | engineConfiguration->launchSpeedThreshold = 0; // to satisfy speedCondition | ||
| 20 | 2 | Sensor::setMockValue(SensorType::DriverThrottleIntent, 1.7); // to satisfy tpsCondition | ||
| 21 | 2 | } | ||
| 22 | ||||
| 23 | 4 | static void updateRpm(const int rpm) { | ||
| 24 | 4 | Sensor::setMockValue(SensorType::Rpm, rpm); | ||
| 25 | 4 | engine->launchController.update(); | ||
| 26 | ||||
| 27 | //isn't retardThresholdRpm redundant? Shold we use engineConfiguration->launchRpm instead? | |||
| 28 |
2/6✓ Branch 2 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
4 | EXPECT_EQ(engine->launchController.retardThresholdRpm, engineConfiguration->launchRpm); | |
| 29 | 4 | } | ||
| 30 | ||||
| 31 | 2 | static void testRetardThresholdRpm() { | ||
| 32 | 2 | updateRpm(TEST_LAUNCH_RPM); | ||
| 33 |
1/6✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
|
2 | EXPECT_TRUE(engine->launchController.isLaunchCondition); | |
| 34 |
2/7✓ Branch 3 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
2 | EXPECT_FALSE(engine->launchController.isLaunchSparkRpmRetardCondition()); | |
| 35 | ||||
| 36 | 2 | updateRpm(TEST_LAUNCH_RPM + 1); | ||
| 37 |
1/6✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
|
2 | EXPECT_TRUE(engine->launchController.isLaunchCondition); | |
| 38 |
2/7✓ Branch 3 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
2 | EXPECT_TRUE(engine->launchController.isLaunchSparkRpmRetardCondition()); | |
| 39 | 2 | } | ||
| 40 | ||||
| 41 | 4 | TEST(rpmCondition, retardThresholdRpmWithDisabledLaunchRetard) { | ||
| 42 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 43 |
1/1✓ Branch 1 taken 1 time.
|
1 | setUpTestParameters(); | |
| 44 | ||||
| 45 |
2/8✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
|
1 | ASSERT_FALSE(engineConfiguration->enableLaunchRetard); // default value | |
| 46 | ||||
| 47 |
1/1✓ Branch 1 taken 1 time.
|
1 | testRetardThresholdRpm(); | |
| 48 | 1 | } | ||
| 49 | ||||
| 50 | 4 | TEST(rpmCondition, retardThresholdRpmWithEnabledLaunchRetard) { | ||
| 51 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 52 |
1/1✓ Branch 1 taken 1 time.
|
1 | setUpTestParameters(); | |
| 53 | ||||
| 54 | 1 | engineConfiguration->enableLaunchRetard = true; | ||
| 55 | ||||
| 56 |
1/1✓ Branch 1 taken 1 time.
|
1 | testRetardThresholdRpm(); | |
| 57 | 2 | } | ||
| 58 |