Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | // | |||
2 | // Created by kifir on 5/27/24. | |||
3 | // | |||
4 | // Tests for functionality decscribed in https://github.com/rusefi/rusefi/issues/5611 | |||
5 | // | |||
6 | ||||
7 | #include "pch.h" | |||
8 | ||||
9 | #include "launch_test_base.h" | |||
10 | ||||
11 | namespace { | |||
12 | constexpr float TEST_IGNITION_650 = 15.3f; | |||
13 | constexpr float TEST_IGNITION_800 = 15.4f; | |||
14 | constexpr float TEST_IGNITION_1100 = 15.5f; | |||
15 | constexpr float TEST_IGNITION_1400 = 15.6f; | |||
16 | constexpr float TEST_IGNITION_1700 = 15.7f; | |||
17 | constexpr float TEST_IGNITION_2000 = 15.8f; | |||
18 | constexpr float TEST_IGNITION_2300 = 15.9f; | |||
19 | constexpr float TEST_IGNITION_2600 = 16.0f; | |||
20 | constexpr float TEST_IGNITION_2900 = 16.1f; | |||
21 | constexpr float TEST_IGNITION_3200 = 16.2f; | |||
22 | constexpr float TEST_IGNITION_3500 = 16.3f; | |||
23 | constexpr float TEST_IGNITION_3800 = 16.4f; | |||
24 | constexpr float TEST_IGNITION_4100 = 16.5f; | |||
25 | constexpr float TEST_IGNITION_4400 = 16.6f; | |||
26 | constexpr float TEST_IGNITION_4700 = 16.7f; | |||
27 | constexpr float TEST_IGNITION_7000 = 16.8f; | |||
28 | ||||
29 | constexpr int TEST_LAUNCH_RPM = 3800; | |||
30 | constexpr int TEST_LAUNCH_RPM_WINDOW = 1800; | |||
31 | constexpr int TEST_SMOOTH_RETARD_END_RPM = 900; | |||
32 | constexpr int TEST_SMOOTH_RETARD_RPM_WINDOW_START = TEST_LAUNCH_RPM - TEST_LAUNCH_RPM_WINDOW; | |||
33 | constexpr int TEST_SMOOTH_RETARD_RPM_WINDOW_END = TEST_LAUNCH_RPM - TEST_SMOOTH_RETARD_END_RPM; | |||
34 | constexpr int TEST_SMOOTH_RETARD_RPM_WINDOW = TEST_SMOOTH_RETARD_RPM_WINDOW_END - TEST_SMOOTH_RETARD_RPM_WINDOW_START; | |||
35 | ||||
36 | constexpr float TEST_LAUNCH_TIMING_RETARD = 17.0f; | |||
37 | ||||
38 | class IgnitionAngleAdvanceTestConfig : public LaunchTestConfig { | |||
39 | public: | |||
40 | IgnitionAngleAdvanceTestConfig( | |||
41 | const std::optional<bool> launchControlEnabled, | |||
42 | const std::optional<bool> ignitionRetardEnable, | |||
43 | const std::optional<bool> smoothRetardMode, | |||
44 | const bool satisfySwitchSpeedThresholdAndTpsConditions | |||
45 | ); | |||
46 | }; | |||
47 | ||||
48 | 10 | IgnitionAngleAdvanceTestConfig::IgnitionAngleAdvanceTestConfig( | ||
49 | const std::optional<bool> launchControlEnabled, | |||
50 | const std::optional<bool> ignitionRetardEnable, | |||
51 | const std::optional<bool> smoothRetardMode, | |||
52 | const bool satisfySwitchSpeedThresholdAndTpsConditions | |||
53 | 10 | ) { | ||
54 |
1/1✓ Branch 2 taken 10 times.
|
10 | setLaunchControlEnabled(launchControlEnabled); | |
55 | ||||
56 |
1/1✓ Branch 4 taken 10 times.
|
10 | setLaunchRpm({TEST_LAUNCH_RPM }); | |
57 |
1/1✓ Branch 4 taken 10 times.
|
10 | setLaunchRpmWindow({TEST_LAUNCH_RPM_WINDOW }); | |
58 |
1/1✓ Branch 4 taken 10 times.
|
10 | setLaunchCorrectionsEndRpm({TEST_SMOOTH_RETARD_END_RPM }); | |
59 | ||||
60 |
1/1✓ Branch 2 taken 10 times.
|
10 | setIgnitionRetardEnable({ ignitionRetardEnable }); | |
61 |
1/1✓ Branch 4 taken 10 times.
|
10 | setIgnitionRetard({ TEST_LAUNCH_TIMING_RETARD }); | |
62 |
1/1✓ Branch 2 taken 10 times.
|
10 | setSmoothRetardMode({ smoothRetardMode }); | |
63 | ||||
64 |
1/1✓ Branch 5 taken 10 times.
|
10 | setEnableIgnitionCut(true); | |
65 | ||||
66 | 10 | setSatisfyActivationSwitchSpeedAndTpsConditions(satisfySwitchSpeedThresholdAndTpsConditions); | ||
67 | 10 | } | ||
68 | ||||
69 | struct IgnitionAngleAdvanceTestData { | |||
70 | const std::string context; | |||
71 | const int rpm; | |||
72 | const float expectedIgnitionAdvance; | |||
73 | const float epsilon = EPS5D; | |||
74 | }; | |||
75 | ||||
76 | #if (IGN_RPM_COUNT == 16) // the following test uses hardcoded test ignition table with 16 columns | |||
77 | class IgnitionAngleAdvanceTest : public LaunchTestBase { | |||
78 | protected: | |||
79 | void doTest( | |||
80 | const IgnitionAngleAdvanceTestConfig& config, | |||
81 | const std::vector<IgnitionAngleAdvanceTestData> &testData | |||
82 | ); | |||
83 | ||||
84 | static const std::vector<IgnitionAngleAdvanceTestData> TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE; | |||
85 | private: | |||
86 | void configureTestIgnitionTable(); | |||
87 | }; | |||
88 | ||||
89 | 10 | void IgnitionAngleAdvanceTest::doTest( | ||
90 | const IgnitionAngleAdvanceTestConfig& config, | |||
91 | const std::vector<IgnitionAngleAdvanceTestData> &testData | |||
92 | ) { | |||
93 | 10 | configureTestIgnitionTable(); | ||
94 | 10 | setUpTestConfig(config); | ||
95 | ||||
96 |
2/2✓ Branch 7 taken 160 times.
✓ Branch 8 taken 10 times.
|
2/2✓ Decision 'true' taken 160 times.
✓ Decision 'false' taken 10 times.
|
170 | for (const IgnitionAngleAdvanceTestData &testDataItem: testData) { |
97 |
1/1✓ Branch 3 taken 160 times.
|
160 | updateRpm(testDataItem.rpm); | |
98 |
2/6✓ Branch 3 taken 160 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 160 times.
✗ Branch 10 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
160 | EXPECT_NEAR( | |
99 | testDataItem.expectedIgnitionAdvance, | |||
100 | engine->ignitionState.baseIgnitionAdvance, | |||
101 | testDataItem.epsilon | |||
102 |
0/1✗ Branch 1 not taken.
|
160 | ) << testDataItem.context; | |
103 | } | |||
104 | 10 | } | ||
105 | ||||
106 | const std::vector<IgnitionAngleAdvanceTestData> IgnitionAngleAdvanceTest::TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE = { | |||
107 | { "TEST_IGNITION_650", 650, TEST_IGNITION_650 }, | |||
108 | { "TEST_IGNITION_800", 800, TEST_IGNITION_800 }, | |||
109 | { "TEST_IGNITION_1100", 1100, TEST_IGNITION_1100 }, | |||
110 | { "TEST_IGNITION_1400", 1400, TEST_IGNITION_1400 }, | |||
111 | { "TEST_IGNITION_1700", 1700, TEST_IGNITION_1700 }, | |||
112 | /* We've entered smooth retard RPM window: */ | |||
113 | { "TEST_IGNITION_2000", 2000, TEST_IGNITION_2000 }, | |||
114 | { "TEST_IGNITION_2300", 2300, TEST_IGNITION_2300 }, | |||
115 | { "TEST_IGNITION_2600", 2600, TEST_IGNITION_2600 }, | |||
116 | { "TEST_IGNITION_2900", 2900, TEST_IGNITION_2900 }, | |||
117 | /* See https://github.com/rusefi/rusefi/issues/5611#issuecomment-2137028838 | |||
118 | * We've left smooth retard RPM window: | |||
119 | */ | |||
120 | { "TEST_IGNITION_3200", 3200, TEST_IGNITION_3200 }, | |||
121 | { "TEST_IGNITION_3500", 3500, TEST_IGNITION_3500 }, | |||
122 | /* We've reached TEST_LAUNCH_RPM: */ | |||
123 | { "TEST_IGNITION_3800", 3800, TEST_IGNITION_3800 }, | |||
124 | { "TEST_IGNITION_4100", 4100, TEST_IGNITION_4100 }, | |||
125 | { "TEST_IGNITION_4400", 4400, TEST_IGNITION_4400 }, | |||
126 | { "TEST_IGNITION_4700", 4700, TEST_IGNITION_4700 }, | |||
127 | { "TEST_IGNITION_7000", 7000, TEST_IGNITION_7000 } | |||
128 | }; | |||
129 | ||||
130 | 10 | void IgnitionAngleAdvanceTest::configureTestIgnitionTable() { | ||
131 | 10 | IgnitionTable testIgnitionTable; | ||
132 |
2/2✓ Branch 0 taken 160 times.
✓ Branch 1 taken 10 times.
|
2/2✓ Decision 'true' taken 160 times.
✓ Decision 'false' taken 10 times.
|
170 | for (int loadIdx = 0; loadIdx < IGN_LOAD_COUNT; loadIdx++) { |
133 | 160 | testIgnitionTable[loadIdx][0] = TEST_IGNITION_650; | ||
134 | 160 | testIgnitionTable[loadIdx][1] = TEST_IGNITION_800; | ||
135 | 160 | testIgnitionTable[loadIdx][2] = TEST_IGNITION_1100; | ||
136 | 160 | testIgnitionTable[loadIdx][3] = TEST_IGNITION_1400; | ||
137 | 160 | testIgnitionTable[loadIdx][4] = TEST_IGNITION_1700; | ||
138 | 160 | testIgnitionTable[loadIdx][5] = TEST_IGNITION_2000; | ||
139 | 160 | testIgnitionTable[loadIdx][6] = TEST_IGNITION_2300; | ||
140 | 160 | testIgnitionTable[loadIdx][7] = TEST_IGNITION_2600; | ||
141 | 160 | testIgnitionTable[loadIdx][8] = TEST_IGNITION_2900; | ||
142 | 160 | testIgnitionTable[loadIdx][9] = TEST_IGNITION_3200; | ||
143 | 160 | testIgnitionTable[loadIdx][10] = TEST_IGNITION_3500; | ||
144 | 160 | testIgnitionTable[loadIdx][11] = TEST_IGNITION_3800; | ||
145 | 160 | testIgnitionTable[loadIdx][12] = TEST_IGNITION_4100; | ||
146 | 160 | testIgnitionTable[loadIdx][13] = TEST_IGNITION_4400; | ||
147 | 160 | testIgnitionTable[loadIdx][14] = TEST_IGNITION_4700; | ||
148 | 160 | testIgnitionTable[loadIdx][15] = TEST_IGNITION_7000; | ||
149 | static_assert(IGN_RPM_COUNT == 16); | |||
150 | }; | |||
151 |
2/2✓ Branch 1 taken 10 times.
✓ Branch 4 taken 10 times.
|
10 | getTestPersistentConfiguration().setIgnitionTable(testIgnitionTable); | |
152 | 10 | } | ||
153 | ||||
154 | 4 | TEST_F(IgnitionAngleAdvanceTest, withDisabledLaunchControlAndWithoutLaunchRetardWithSatisfiedLaunchConditions) { | ||
155 |
2/2✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
|
1 | doTest( | |
156 | /* config = */ { | |||
157 | /* launchControlEnabled = */ {}, | |||
158 | /* ignitionRetardEnable = */ {}, | |||
159 | /* smoothRetardMode = */ {}, | |||
160 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ true | |||
161 | }, | |||
162 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
163 | ); | |||
164 | 1 | } | ||
165 | ||||
166 | 4 | TEST_F( | ||
167 | IgnitionAngleAdvanceTest, | |||
168 | withEnabledLaunchControlAndLaunchRetardWithoutSmoothWithSatisfiedLaunchConditions | |||
169 | ) { | |||
170 |
5/7✓ Branch 3 taken 1 time.
✓ Branch 16 taken 1 time.
✓ Branch 19 taken 1 time.
✓ Branch 30 taken 16 times.
✓ Branch 31 taken 1 time.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
|
20 | doTest( | |
171 | /* config = */ { | |||
172 | /* launchControlEnabled = */ { true }, | |||
173 | /* ignitionRetardEnable = */ { true }, | |||
174 | /* smoothRetardMode = */ { false }, | |||
175 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ true | |||
176 | }, | |||
177 | /* testData = */ { | |||
178 | { "TEST_IGNITION_650", 650, TEST_IGNITION_650 }, | |||
179 | { "TEST_IGNITION_800", 800, TEST_IGNITION_800 }, | |||
180 | { "TEST_IGNITION_1100", 1100, TEST_IGNITION_1100 }, | |||
181 | { "TEST_IGNITION_1400", 1400, TEST_IGNITION_1400 }, | |||
182 | { "TEST_IGNITION_1700", 1700, TEST_IGNITION_1700 }, | |||
183 | /* We've entered smooth retard RPM window: */ | |||
184 | { "TEST_IGNITION_2000", 2000, TEST_LAUNCH_TIMING_RETARD }, | |||
185 | { "TEST_IGNITION_2300", 2300, TEST_LAUNCH_TIMING_RETARD }, | |||
186 | { "TEST_IGNITION_2600", 2600, TEST_LAUNCH_TIMING_RETARD }, | |||
187 | { "TEST_IGNITION_2900", 2900, TEST_LAUNCH_TIMING_RETARD }, | |||
188 | /* See https://github.com/rusefi/rusefi/issues/5611#issuecomment-2137028838 | |||
189 | * We've left smooth retard RPM window: | |||
190 | */ | |||
191 | { "TEST_IGNITION_3200", 3200, TEST_LAUNCH_TIMING_RETARD }, | |||
192 | { "TEST_IGNITION_3500", 3500, TEST_LAUNCH_TIMING_RETARD }, | |||
193 | /* We've reached TEST_LAUNCH_RPM: */ | |||
194 | { "TEST_IGNITION_3800", 3800, TEST_LAUNCH_TIMING_RETARD }, | |||
195 | { "TEST_IGNITION_4100", 4100, TEST_LAUNCH_TIMING_RETARD }, | |||
196 | { "TEST_IGNITION_4400", 4400, TEST_LAUNCH_TIMING_RETARD }, | |||
197 | { "TEST_IGNITION_4700", 4700, TEST_LAUNCH_TIMING_RETARD }, | |||
198 | { "TEST_IGNITION_7000", 7000, TEST_LAUNCH_TIMING_RETARD }, | |||
199 | } | |||
200 | ); | |||
201 | 4 | } | ||
202 | ||||
203 | 4 | TEST_F( | ||
204 | IgnitionAngleAdvanceTest, | |||
205 | withEnabledLaunchControlAndLaunchRetardAndLaunchSmoothRetardWithSatisfiedLaunchConditions | |||
206 | ) { | |||
207 |
5/7✓ Branch 3 taken 1 time.
✓ Branch 16 taken 1 time.
✓ Branch 19 taken 1 time.
✓ Branch 30 taken 16 times.
✓ Branch 31 taken 1 time.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
|
20 | doTest( | |
208 | /* config = */ { | |||
209 | /* launchControlEnabled = */ { true }, | |||
210 | /* ignitionRetardEnable = */ { true }, | |||
211 | /* smoothRetardMode = */ { true }, | |||
212 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ true | |||
213 | }, | |||
214 | /* testData = */ { | |||
215 | { "TEST_IGNITION_650", 650, TEST_IGNITION_650 }, | |||
216 | { "TEST_IGNITION_800", 800, TEST_IGNITION_800 }, | |||
217 | { "TEST_IGNITION_1100", 1100, TEST_IGNITION_1100 }, | |||
218 | { "TEST_IGNITION_1400", 1400, TEST_IGNITION_1400 }, | |||
219 | { "TEST_IGNITION_1700", 1700, TEST_IGNITION_1700 }, | |||
220 | /* We've entered smooth retard RPM window: */ | |||
221 | { "TEST_IGNITION_2000", 2000, TEST_IGNITION_2000 }, | |||
222 | { | |||
223 | "TEST_IGNITION_2300", | |||
224 | 2300, | |||
225 | TEST_IGNITION_2300 | |||
226 | + (2300.0f - TEST_SMOOTH_RETARD_RPM_WINDOW_START) * | |||
227 | (TEST_LAUNCH_TIMING_RETARD - TEST_IGNITION_2300) / TEST_SMOOTH_RETARD_RPM_WINDOW, | |||
228 | EPS2D //TODO: check if this precision loss is expected | |||
229 | }, | |||
230 | { | |||
231 | "TEST_IGNITION_2600", | |||
232 | 2600, | |||
233 | TEST_IGNITION_2600 | |||
234 | + (2600.0f - TEST_SMOOTH_RETARD_RPM_WINDOW_START) * | |||
235 | (TEST_LAUNCH_TIMING_RETARD - TEST_IGNITION_2600) / TEST_SMOOTH_RETARD_RPM_WINDOW, | |||
236 | EPS2D //TODO: check if this precision loss is expected | |||
237 | }, | |||
238 | { "TEST_IGNITION_2900", 2900, TEST_LAUNCH_TIMING_RETARD }, | |||
239 | /* See https://github.com/rusefi/rusefi/issues/5611#issuecomment-2137028838 | |||
240 | * We've left smooth retard RPM window: | |||
241 | */ | |||
242 | { "TEST_IGNITION_3200", 3200, TEST_LAUNCH_TIMING_RETARD }, | |||
243 | { "TEST_IGNITION_3500", 3500, TEST_LAUNCH_TIMING_RETARD }, | |||
244 | /* We've reached TEST_LAUNCH_RPM: */ | |||
245 | { "TEST_IGNITION_3800", 3800, TEST_LAUNCH_TIMING_RETARD }, | |||
246 | { "TEST_IGNITION_4100", 4100, TEST_LAUNCH_TIMING_RETARD }, | |||
247 | { "TEST_IGNITION_4400", 4400, TEST_LAUNCH_TIMING_RETARD }, | |||
248 | { "TEST_IGNITION_4700", 4700, TEST_LAUNCH_TIMING_RETARD }, | |||
249 | { "TEST_IGNITION_7000", 7000, TEST_LAUNCH_TIMING_RETARD } | |||
250 | } | |||
251 | ); | |||
252 | 4 | } | ||
253 | ||||
254 | /* Tests for https://github.com/rusefi/rusefi/issues/6571: */ | |||
255 | ||||
256 | 4 | TEST_F( | ||
257 | IgnitionAngleAdvanceTest, | |||
258 | withDisabledLaunchControlAndLaunchRetardWithoutSmoothWithSatisfiedLaunchConditions | |||
259 | ) { | |||
260 |
2/2✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
|
1 | doTest( | |
261 | /* config = */ { | |||
262 | /* launchControlEnabled = */ { false }, | |||
263 | /* ignitionRetardEnable = */ { true }, | |||
264 | /* smoothRetardMode = */ { false }, | |||
265 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ true | |||
266 | }, | |||
267 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
268 | ); | |||
269 | 1 | } | ||
270 | ||||
271 | 4 | TEST_F(IgnitionAngleAdvanceTest, withDisabledLaunchControlAndLaunchRetardAndSmoothWithSatisfiedLaunchConditions) { | ||
272 |
2/2✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
|
1 | doTest( | |
273 | /* config = */ { | |||
274 | /* launchControlEnabled = */ { false }, | |||
275 | /* ignitionRetardEnable = */ { true }, | |||
276 | /* smoothRetardMode = */ { true }, | |||
277 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ true | |||
278 | }, | |||
279 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
280 | ); | |||
281 | 1 | } | ||
282 | ||||
283 | /* Tests with unsatisfied launch conditions: */ | |||
284 | ||||
285 | 4 | TEST_F( | ||
286 | IgnitionAngleAdvanceTest, | |||
287 | withDisabledLaunchControlAndWithoutLaunchRetardWithDisabledSmoothRetardWithoutSatisfiedLaunchConditions | |||
288 | ) { | |||
289 |
2/2✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
|
1 | doTest( | |
290 | /* config = */ { | |||
291 | /* launchControlEnabled = */ { false }, | |||
292 | /* ignitionRetardEnable = */ { false }, | |||
293 | /* smoothRetardMode = */ { false }, | |||
294 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ false | |||
295 | }, | |||
296 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
297 | ); | |||
298 | 1 | } | ||
299 | ||||
300 | 4 | TEST_F( | ||
301 | IgnitionAngleAdvanceTest, | |||
302 | withEnabledLaunchControlAndLaunchRetardWithoutSmoothAndSatisfiedLaunchConditions | |||
303 | ) { | |||
304 |
2/2✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
|
1 | doTest( | |
305 | /* config = */ { | |||
306 | /* launchControlEnabled = */ { true }, | |||
307 | /* ignitionRetardEnable = */ { true }, | |||
308 | /* smoothRetardMode = */ { false }, | |||
309 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ false | |||
310 | }, | |||
311 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
312 | ); | |||
313 | 1 | } | ||
314 | ||||
315 | 4 | TEST_F( | ||
316 | IgnitionAngleAdvanceTest, | |||
317 | withEnabledLaunchControlAndLaunchRetardAndLaunchSmoothRetardWithoutSatisfiedLaunchConditions | |||
318 | ) { | |||
319 |
2/2✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
|
1 | doTest( | |
320 | /* config = */ { | |||
321 | /* launchControlEnabled = */ { true }, | |||
322 | /* ignitionRetardEnable = */ { true }, | |||
323 | /* smoothRetardMode = */ { true }, | |||
324 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ false | |||
325 | }, | |||
326 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
327 | ); | |||
328 | 1 | } | ||
329 | ||||
330 | 4 | TEST_F( | ||
331 | IgnitionAngleAdvanceTest, | |||
332 | withDisabledLaunchControlAndLaunchRetardWithoutSmoothAndWithoutSatisfiedLaunchConditions | |||
333 | ) { | |||
334 |
2/2✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
|
1 | doTest( | |
335 | /* config = */ { | |||
336 | /* launchControlEnabled = */ { false }, | |||
337 | /* ignitionRetardEnable = */ { true }, | |||
338 | /* smoothRetardMode = */ { false }, | |||
339 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ false | |||
340 | }, | |||
341 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
342 | ); | |||
343 | 1 | } | ||
344 | ||||
345 | 4 | TEST_F( | ||
346 | IgnitionAngleAdvanceTest, | |||
347 | withDisabledLaunchControlAndLaunchRetardAndSmoothAndWithoutSatisfiedLaunchConditions | |||
348 | ) { | |||
349 |
2/2✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
|
1 | doTest( | |
350 | /* config = */ { | |||
351 | /* launchControlEnabled = */ { false }, | |||
352 | /* ignitionRetardEnable = */ { true }, | |||
353 | /* smoothRetardMode = */ { true }, | |||
354 | /* satisfySwitchSpeedThresholdAndTpsConditions = */ false | |||
355 | }, | |||
356 | /* testData = */ TEST_DATA_WITHOUT_LAUNCH_ANGLE_ADVANCE | |||
357 | ); | |||
358 | 1 | } | ||
359 | #endif //(IGN_RPM_COUNT == 16) | |||
360 | } | |||
361 |