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 |