reducing global variables in tests

This commit is contained in:
rusefi 2019-01-10 21:26:02 -05:00
parent e394f36d58
commit 67aa9f96b9
3 changed files with 55 additions and 55 deletions

View File

@ -70,7 +70,7 @@ EngineTestHelper::EngineTestHelper(engine_type_e engineType) : engine (&persiste
} }
void EngineTestHelper::fireRise(int delayMs) { void EngineTestHelper::fireRise(int delayMs) {
timeNowUs += MS2US(delayMs); moveTimeForwardUs(MS2US(delayMs));
firePrimaryTriggerRise(); firePrimaryTriggerRise();
} }
@ -80,7 +80,7 @@ void EngineTestHelper::firePrimaryTriggerRise() {
} }
void EngineTestHelper::fireFall(int delayMs) { void EngineTestHelper::fireFall(int delayMs) {
timeNowUs += MS2US(delayMs); moveTimeForwardUs(MS2US(delayMs));
firePrimaryTriggerFall(); firePrimaryTriggerFall();
} }
@ -111,8 +111,8 @@ void EngineTestHelper::clearQueue() {
engine.iHead = NULL; // let's drop whatever was scheduled just to start from a clean state engine.iHead = NULL; // let's drop whatever was scheduled just to start from a clean state
} }
void EngineTestHelper::executeActions() { int EngineTestHelper::executeActions() {
engine.executor.executeAll(timeNowUs); return engine.executor.executeAll(timeNowUs);
} }
void EngineTestHelper::moveTimeForwardUs(int deltaTimeUs) { void EngineTestHelper::moveTimeForwardUs(int deltaTimeUs) {

View File

@ -31,7 +31,7 @@ public:
void fireTriggerEvents2(int count, int delayMs); void fireTriggerEvents2(int count, int delayMs);
void clearQueue(); void clearQueue();
void executeActions(); int executeActions();
void moveTimeForwardUs(int deltaTimeUs); void moveTimeForwardUs(int deltaTimeUs);
Engine engine; Engine engine;

View File

@ -694,7 +694,7 @@ static void setTestBug299(EngineTestHelper *eth) {
assertInjectorDownEvent("@1", 1, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("@1", 1, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorUpEvent("1@2", 2, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorUpEvent("1@2", 2, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorDownEvent("1@3", 3, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("1@3", 3, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertEqualsM("exec#0", 0, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#0", 0, eth->executeActions());
FuelSchedule * t = &ENGINE(injectionEvents); FuelSchedule * t = &ENGINE(injectionEvents);
@ -721,7 +721,7 @@ static void setTestBug299(EngineTestHelper *eth) {
assertInjectorDownEvent("@5", 5, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("@5", 5, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorUpEvent("02@6", 6, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorUpEvent("02@6", 6, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorDownEvent("@7", 7, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("@7", 7, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertEqualsM("exec#1", 4, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#1", 4, eth->executeActions());
/** /**
@ -732,7 +732,7 @@ static void setTestBug299(EngineTestHelper *eth) {
assertInjectorDownEvent("22@1", 1, MS2US(-10), 0 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("22@1", 1, MS2US(-10), 0 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorUpEvent("22@2", 2, MS2US(-1.5), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorUpEvent("22@2", 2, MS2US(-1.5), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorDownEvent("22@3", 3, MS2US(0), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("22@3", 3, MS2US(0), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertEqualsM("exec#20", 4, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#20", 4, eth->executeActions());
eth->firePrimaryTriggerRise(); eth->firePrimaryTriggerRise();
assertEqualsM("qs#0-2", 4, engine->executor.size()); assertEqualsM("qs#0-2", 4, engine->executor.size());
@ -744,11 +744,11 @@ static void setTestBug299(EngineTestHelper *eth) {
assertInjectorDownEvent("@1", 1, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("@1", 1, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorUpEvent("@2", 2, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorUpEvent("@2", 2, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorDownEvent("2@3", 3, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("2@3", 3, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertEqualsM("exec#2", 0, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#2", 0, eth->executeActions());
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
engine->executor.executeAll(timeNowUs); eth->executeActions();
eth->firePrimaryTriggerFall(); eth->firePrimaryTriggerFall();
// fuel schedule - short pulses. and more realistic schedule this time // fuel schedule - short pulses. and more realistic schedule this time
// time...|-20.....|-10.....|0.......|10......|20 // time...|-20.....|-10.....|0.......|10......|20
@ -760,7 +760,7 @@ static void setTestBug299(EngineTestHelper *eth) {
assertInjectorDownEvent("0@1", 1, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("0@1", 1, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorUpEvent("0@2", 2, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorUpEvent("0@2", 2, MS2US(18.5), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertInjectorDownEvent("0@3", 3, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("0@3", 3, MS2US(20), 1 PASS_ENGINE_PARAMETER_SUFFIX);
assertEqualsM("exec#3", 0, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#3", 0, eth->executeActions());
assertEqualsM("iatC", 1, engine->engineState.iatFuelCorrection); assertEqualsM("iatC", 1, engine->engineState.iatFuelCorrection);
@ -807,7 +807,7 @@ void testFuelSchedulerBug299smallAndMedium(void) {
assertEqualsM("qs#1", 4, engine->executor.size()); assertEqualsM("qs#1", 4, engine->executor.size());
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
assertEqualsM("exec#2#0", 4, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#2#0", 4, eth.executeActions());
assertEqualsM("qs#1#2", 0, engine->executor.size()); assertEqualsM("qs#1#2", 0, engine->executor.size());
@ -836,7 +836,7 @@ void testFuelSchedulerBug299smallAndMedium(void) {
// } // }
assertEqualsM("exec#4", 0, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#4", 0, eth.executeActions());
eth.fireFall(20); eth.fireFall(20);
@ -856,7 +856,7 @@ void testFuelSchedulerBug299smallAndMedium(void) {
// assertInjectorUpEvent("5@6", 6, MS2US(17.5), 0); // assertInjectorUpEvent("5@6", 6, MS2US(17.5), 0);
// assertInjectorDownEvent("5@7", 7, MS2US(20.0), 1); // assertInjectorDownEvent("5@7", 7, MS2US(20.0), 1);
// assertInjectorDownEvent("5@8", 8, MS2US(30.0), 0); // assertInjectorDownEvent("5@8", 8, MS2US(30.0), 0);
assertEqualsM("exec#5", 3, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#5", 3, eth.executeActions());
/** /**
* one more revolution * one more revolution
@ -880,7 +880,7 @@ void testFuelSchedulerBug299smallAndMedium(void) {
// assertInjectorDownEvent("6@4", 4, MS2US(10.0), 0); // assertInjectorDownEvent("6@4", 4, MS2US(10.0), 0);
// so placing this 'executeAll' changes much? // so placing this 'executeAll' changes much?
assertEqualsM("exec#07", 5, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#07", 5, eth.executeActions());
assertEqualsM("qs#07", 0, engine->executor.size()); assertEqualsM("qs#07", 0, engine->executor.size());
// assertInjectorDownEvent("26@0", 0, MS2US(10.0), 0); // assertInjectorDownEvent("26@0", 0, MS2US(10.0), 0);
@ -894,7 +894,7 @@ void testFuelSchedulerBug299smallAndMedium(void) {
// assertInjectorUpEvent("06@6", 6, MS2US(37.5), 0); // assertInjectorUpEvent("06@6", 6, MS2US(37.5), 0);
// assertInjectorDownEvent("06@7", 7, MS2US(40.0), 1); // assertInjectorDownEvent("06@7", 7, MS2US(40.0), 1);
assertEqualsM("exec#7", 0, engine->executor.executeAll(timeNowUs)); assertEqualsM("exec#7", 0, eth.executeActions());
assertInjectors("#1_ij_", 0, 0); assertInjectors("#1_ij_", 0, 0);
@ -914,7 +914,7 @@ void testFuelSchedulerBug299smallAndMedium(void) {
//// assertInjectorDownEvent("7@7", 7, MS2US(20), 1); //// assertInjectorDownEvent("7@7", 7, MS2US(20), 1);
// // todo index 8 // // todo index 8
assertEqualsM("executed #06", 3, engine->executor.executeAll(timeNowUs)); assertEqualsM("executed #06", 3, eth.executeActions());
assertInjectors("#4", 1, 0); assertInjectors("#4", 1, 0);
assertEqualsM("qs#06", 1, engine->executor.size()); assertEqualsM("qs#06", 1, engine->executor.size());
assertInjectorDownEvent("17@0", 0, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX); assertInjectorDownEvent("17@0", 0, MS2US(10), 0 PASS_ENGINE_PARAMETER_SUFFIX);
@ -927,11 +927,11 @@ void testFuelSchedulerBug299smallAndMedium(void) {
assertEqualsM("qs#3", 5, engine->executor.size()); assertEqualsM("qs#3", 5, engine->executor.size());
assertEqualsM("rev cnt6", 6, engine->rpmCalculator.getRevolutionCounter()); assertEqualsM("rev cnt6", 6, engine->rpmCalculator.getRevolutionCounter());
assertEqualsM("executed #6", 0, engine->executor.executeAll(timeNowUs)); assertEqualsM("executed #6", 0, eth.executeActions());
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
assertEqualsM("executed #06", 4, engine->executor.executeAll(timeNowUs)); assertEqualsM("executed #06", 4, eth.executeActions());
assertEqualsM("qs#06", 1, engine->executor.size()); assertEqualsM("qs#06", 1, engine->executor.size());
assertInjectors("inj#2", 1, 0); assertInjectors("inj#2", 1, 0);
@ -948,9 +948,9 @@ void testFuelSchedulerBug299smallAndMedium(void) {
// assertInjectorDownEvent("07@7", 7, MS2US(40), 1); // assertInjectorDownEvent("07@7", 7, MS2US(40), 1);
// assertInjectorDownEvent("07@8", 8, MS2US(50), 0); // assertInjectorDownEvent("07@8", 8, MS2US(50), 0);
assertEqualsM("executeAll#3", 0, engine->executor.executeAll(timeNowUs)); assertEqualsM("executeAll#3", 0, eth.executeActions());
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
assertEqualsM("executeAll#4", 4, engine->executor.executeAll(timeNowUs)); assertEqualsM("executeAll#4", 4, eth.executeActions());
t = &ENGINE(injectionEvents); t = &ENGINE(injectionEvents);
@ -984,20 +984,20 @@ void testFuelSchedulerBug299smallAndMedium(void) {
eth.firePrimaryTriggerFall(); eth.firePrimaryTriggerFall();
engine->executor.executeAll(timeNowUs); eth.executeActions();
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE); engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
eth.fireRise(20); eth.fireRise(20);
assertEqualsM("Queue.size#05", 7, engine->executor.size()); assertEqualsM("Queue.size#05", 7, engine->executor.size());
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.firePrimaryTriggerRise(); eth.firePrimaryTriggerRise();
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE); engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
@ -1022,7 +1022,7 @@ void testFuelSchedulerBug299smallAndMedium(void) {
//// assertInjectorDownEvent("8@8", 8, MS2US(45), 1); //// assertInjectorDownEvent("8@8", 8, MS2US(45), 1);
//// assertInjectorDownEvent("8@9", 9, MS2US(55), 0); //// assertInjectorDownEvent("8@9", 9, MS2US(55), 0);
engine->executor.executeAll(timeNowUs); eth.executeActions();
unitTestValue = 0; unitTestValue = 0;
testMafValue = 0; testMafValue = 0;
@ -1086,7 +1086,7 @@ void testFuelSchedulerBug299smallAndLarge(void) {
assertEqualsM("Lqs#1", 4, engine->executor.size()); assertEqualsM("Lqs#1", 4, engine->executor.size());
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
// injector #1 is low before the test // injector #1 is low before the test
assertFalseM("injector@0", enginePins.injectors[0].currentLogicValue); assertFalseM("injector@0", enginePins.injectors[0].currentLogicValue);
@ -1137,7 +1137,7 @@ void testFuelSchedulerBug299smallAndLarge(void) {
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("Lqs#04", 0, engine->executor.size()); assertEqualsM("Lqs#04", 0, engine->executor.size());
setArrayValues(fuelMap.pointers[engineLoadIndex], FUEL_RPM_COUNT, 4); setArrayValues(fuelMap.pointers[engineLoadIndex], FUEL_RPM_COUNT, 4);
@ -1157,12 +1157,12 @@ void testFuelSchedulerBug299smallAndLarge(void) {
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
engine->executor.executeAll(timeNowUs); // issue here eth.executeActions(); // issue here
eth.firePrimaryTriggerFall(); eth.firePrimaryTriggerFall();
timeNowUs += MS2US(20); timeNowUs += MS2US(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.firePrimaryTriggerRise(); eth.firePrimaryTriggerRise();
assertEqualsM("Lqs#5", 4, engine->executor.size()); assertEqualsM("Lqs#5", 4, engine->executor.size());
@ -1207,7 +1207,7 @@ void testSparkReverseOrderBug319(void) {
eth.fireRise(20); eth.fireRise(20);
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireRise(20); eth.fireRise(20);
eth.fireFall(20); eth.fireFall(20);
@ -1216,23 +1216,23 @@ void testSparkReverseOrderBug319(void) {
assertEqualsM("testSparkReverseOrderBug319: queue size", 7, engine->executor.size()); assertEqualsM("testSparkReverseOrderBug319: queue size", 7, engine->executor.size());
engine->executor.executeAll(timeNowUs); eth.executeActions();
printf("***************************************************\r\n"); printf("***************************************************\r\n");
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
timeNowUs += 100; // executing new signal too early timeNowUs += 100; // executing new signal too early
eth.firePrimaryTriggerFall(); eth.firePrimaryTriggerFall();
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("out-of-order #1", 1, enginePins.coils[3].outOfOrder); assertEqualsM("out-of-order #1", 1, enginePins.coils[3].outOfOrder);
timeNowUs += MS2US(200); // moving time forward to execute all pending actions timeNowUs += MS2US(200); // moving time forward to execute all pending actions
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("out-of-order #2", 0, enginePins.coils[3].outOfOrder); assertEqualsM("out-of-order #2", 0, enginePins.coils[3].outOfOrder);
@ -1240,7 +1240,7 @@ void testSparkReverseOrderBug319(void) {
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("RPM#2", 545, eth.engine.rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE)); assertEqualsM("RPM#2", 545, eth.engine.rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE));
@ -1248,13 +1248,13 @@ void testSparkReverseOrderBug319(void) {
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("out-of-order #4", 1, enginePins.coils[3].outOfOrder); assertEqualsM("out-of-order #4", 1, enginePins.coils[3].outOfOrder);
printf("*************************************************** (rpm is back) now let's have a good engine cycle and confirm things work\r\n"); printf("*************************************************** (rpm is back) now let's have a good engine cycle and confirm things work\r\n");
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("RPM#3", 3000, eth.engine.rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE)); assertEqualsM("RPM#3", 3000, eth.engine.rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE));
@ -1262,13 +1262,13 @@ void testSparkReverseOrderBug319(void) {
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("out-of-order #6 on c4", 1, enginePins.coils[3].outOfOrder); assertEqualsM("out-of-order #6 on c4", 1, enginePins.coils[3].outOfOrder);
printf("*************************************************** (rpm is back 2) now let's have a good engine cycle and confirm things work\r\n"); printf("*************************************************** (rpm is back 2) now let's have a good engine cycle and confirm things work\r\n");
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("RPM#4", 3000, eth.engine.rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE)); assertEqualsM("RPM#4", 3000, eth.engine.rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE));
@ -1276,7 +1276,7 @@ void testSparkReverseOrderBug319(void) {
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("out-of-order #8", 0, enginePins.coils[3].outOfOrder); assertEqualsM("out-of-order #8", 0, enginePins.coils[3].outOfOrder);
} }
@ -1295,31 +1295,31 @@ void testMissedSpark299(void) {
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("ci#0", 0, eth.engine.triggerCentral.triggerState.currentCycle.current_index); assertEqualsM("ci#0", 0, eth.engine.triggerCentral.triggerState.currentCycle.current_index);
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("ci#1", 1, eth.engine.triggerCentral.triggerState.currentCycle.current_index); assertEqualsM("ci#1", 1, eth.engine.triggerCentral.triggerState.currentCycle.current_index);
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("ci#2", 0, eth.engine.triggerCentral.triggerState.currentCycle.current_index); assertEqualsM("ci#2", 0, eth.engine.triggerCentral.triggerState.currentCycle.current_index);
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("ci#3", 1, eth.engine.triggerCentral.triggerState.currentCycle.current_index); assertEqualsM("ci#3", 1, eth.engine.triggerCentral.triggerState.currentCycle.current_index);
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("ci#5", 1, eth.engine.triggerCentral.triggerState.currentCycle.current_index); assertEqualsM("ci#5", 1, eth.engine.triggerCentral.triggerState.currentCycle.current_index);
@ -1333,33 +1333,33 @@ void testMissedSpark299(void) {
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
setWholeTimingTable(-5); setWholeTimingTable(-5);
eth.engine.periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE); eth.engine.periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireRise(20); eth.fireRise(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
eth.fireFall(20); eth.fireFall(20);
engine->executor.executeAll(timeNowUs); eth.executeActions();
assertEqualsM("warningCounter#1", 5, unitTestWarningCounter); assertEqualsM("warningCounter#1", 5, unitTestWarningCounter);
} }