| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | // | |||
| 2 | // Created by kifir on 5/21/24. | |||
| 3 | // | |||
| 4 | ||||
| 5 | #include "pch.h" | |||
| 6 | ||||
| 7 | namespace { | |||
| 8 | constexpr int TEST_LAUNCH_RPM = 2390; | |||
| 9 | constexpr int TEST_LAUNCH_RPM_WINDOW = 170; | |||
| 10 | constexpr int TEST_PRELAUNCH_RPM = TEST_LAUNCH_RPM - TEST_LAUNCH_RPM_WINDOW; | |||
| 11 | ||||
| 12 | 3 | void setUpTestParameters() { | ||
| 13 | 3 | engineConfiguration->launchControlEnabled = true; | ||
| 14 | 3 | engineConfiguration->launchRpm = TEST_LAUNCH_RPM; | ||
| 15 | 3 | engineConfiguration->launchRpmWindow = TEST_LAUNCH_RPM_WINDOW; | ||
| 16 | 3 | engineConfiguration->launchSparkCutEnable = true; | ||
| 17 | 3 | } | ||
| 18 | ||||
| 19 | 17 | void updateRpm(const int rpm) { | ||
| 20 | 17 | Sensor::setMockValue(SensorType::Rpm, rpm); | ||
| 21 | 17 | engine->launchController.update(); | ||
| 22 | 17 | } | ||
| 23 | ||||
| 24 | 4 | TEST(rpmCondition, increasingRpm) { | ||
| 25 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 26 | ||||
| 27 | 1 | setUpTestParameters(); | ||
| 28 | ||||
| 29 | /* RPM hasn't reached Launch RPM parameter - rpmCondition isn't satisfied: */ | |||
| 30 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); // check default value | |
| 31 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); // check default value | |
| 32 | ||||
| 33 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_PRELAUNCH_RPM - 1); | |
| 34 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 35 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 36 | ||||
| 37 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_PRELAUNCH_RPM); | |
| 38 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 39 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 40 | ||||
| 41 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM - 1); | |
| 42 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 43 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 44 | ||||
| 45 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM); | |
| 46 | /* RPM reached Launch RPM parameter - now rpmCondition is satisfied: */ | |||
| 47 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmLaunchCondition); | |
| 48 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 49 | 2 | } | ||
| 50 | ||||
| 51 | 4 | TEST(rpmCondition, decreasingRpm) { | ||
| 52 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 53 | ||||
| 54 | 1 | setUpTestParameters(); | ||
| 55 | ||||
| 56 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM); | |
| 57 | /* RPM reached Launch RPM parameter - rpmCondition is satisfied: */ | |||
| 58 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmLaunchCondition); | |
| 59 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 60 | ||||
| 61 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM - 1); | |
| 62 | /* RPM is below Launch RPM parameter, but still in Launch Control Window - so rpmCondition is still satisfied: */ | |||
| 63 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 64 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 65 | ||||
| 66 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_PRELAUNCH_RPM); | |
| 67 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 68 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 69 | ||||
| 70 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_PRELAUNCH_RPM - 1); | |
| 71 | /* RPM went down below Launch Control Window parameter - now rpmCondition is not satisfied: */ | |||
| 72 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 73 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 74 | 2 | } | ||
| 75 | ||||
| 76 | 4 | TEST(rpmCondition, rpmOscillation) { | ||
| 77 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 78 | ||||
| 79 | 1 | setUpTestParameters(); | ||
| 80 | ||||
| 81 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM); | |
| 82 | /* RPM reached Launch RPM parameter - rpmCondition is satisfied: */ | |||
| 83 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmLaunchCondition); | |
| 84 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 85 | ||||
| 86 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM - 1); | |
| 87 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 88 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 89 | ||||
| 90 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM + 1); | |
| 91 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmLaunchCondition); | |
| 92 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 93 | ||||
| 94 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_PRELAUNCH_RPM); | |
| 95 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 96 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 97 | ||||
| 98 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM + 2); | |
| 99 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmLaunchCondition); | |
| 100 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 101 | ||||
| 102 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_PRELAUNCH_RPM - 1); | |
| 103 | /* RPM went down below Launch Control Window parameter - now rpmCondition is not satisfied: */ | |||
| 104 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 105 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 106 | ||||
| 107 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_PRELAUNCH_RPM); | |
| 108 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 109 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 110 | ||||
| 111 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM - 1); | |
| 112 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmLaunchCondition); | |
| 113 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmPreLaunchCondition); | |
| 114 | ||||
| 115 | /* RPM reached Launch RPM parameter again - now rpmCondition is satisfied: */ | |||
| 116 |
1/1✓ Branch 1 taken 1 time.
|
1 | updateRpm(TEST_LAUNCH_RPM); | |
| 117 |
1/6✗ 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.
|
1 | EXPECT_TRUE(engine->launchController.rpmLaunchCondition); | |
| 118 |
1/6✗ 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.
|
1 | EXPECT_FALSE(engine->launchController.rpmPreLaunchCondition); | |
| 119 | 2 | } | ||
| 120 | } | |||
| 121 |