more unit tests for trigger_input_adc

This commit is contained in:
andreika-git 2023-06-06 23:59:52 +03:00
parent 23891833be
commit 2188ef45a9
1 changed files with 23 additions and 6 deletions

View File

@ -83,7 +83,7 @@ static void simulateTrigger(EngineTestHelper &eth, TriggerAdcDetector &trigAdcSt
}
}
static void testOnCsvData(const char *fileName, int finalRpm, int risingCnt, int fallingCnt) {
static void testOnCsvData(const char *fileName, int finalRpm, int risingCnt, int fallingCnt, int errCnt) {
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
@ -118,17 +118,17 @@ static void testOnCsvData(const char *fileName, int finalRpm, int risingCnt, int
reader.open(fileName);
simulateTrigger(eth, trigAdcState, reader, 2.0f, 3.3f);
ASSERT_EQ(0, engine->triggerCentral.triggerState.totalTriggerErrorCounter);
ASSERT_EQ(errCnt, engine->triggerCentral.triggerState.totalTriggerErrorCounter);
ASSERT_EQ(risingCnt, triggerChangedRisingCnt);
ASSERT_EQ(fallingCnt, triggerChangedFallingCnt);
ASSERT_NEAR(finalRpm, Sensor::getOrZero(SensorType::Rpm), 0.5f) << "testTriggerInputAdc RPM #2 on " << fileName;
}
/*
TEST(big, testTriggerInputAdc1) {
printf("====================================================================================== testTriggerInputAdc 1\r\n");
testOnCsvData("tests/trigger/resources/trigger_adc_1.csv", 1524, 74, 73);
testOnCsvData("tests/trigger/resources/trigger_adc_1.csv", 1524, 74, 73, 0);
}
@ -136,7 +136,7 @@ TEST(big, testTriggerInputAdc1) {
TEST(big, testTriggerInputAdc750) {
printf("====================================================================================== testTriggerInputAdc 750\r\n");
testOnCsvData("tests/trigger/resources/trigger_adc_750.csv", 750, 144, 144);
testOnCsvData("tests/trigger/resources/trigger_adc_750.csv", 750, 144, 144, 0);
}
@ -144,6 +144,23 @@ TEST(big, testTriggerInputAdc750) {
TEST(big, testTriggerInputAdc1000) {
printf("====================================================================================== testTriggerInputAdc 1000\r\n");
testOnCsvData("tests/trigger/resources/trigger_adc_1000.csv", 1000, 194, 194);
testOnCsvData("tests/trigger/resources/trigger_adc_1000.csv", 1000, 194, 194, 0);
}
TEST(big, testTriggerInputAdcIncrDecr) {
printf("====================================================================================== testTriggerInputAdc 1000\r\n");
testOnCsvData("tests/trigger/resources/trigger_adc_incr.csv", 1330, 155, 154, 0);
testOnCsvData("tests/trigger/resources/trigger_adc_decr.csv", 419, 142, 141, 0);
}
*/
TEST(big, testTriggerInputAdcReal) {
printf("====================================================================================== testTriggerInputAdc 1000\r\n");
// constant low RPM
testOnCsvData("tests/trigger/resources/trigger_adc_real1.csv", 322, 924, 924, 2);
// accelerate and switch from analog to digital mode
//testOnCsvData("tests/trigger/resources/trigger_adc_real2.csv", 1283, 2398, 2398, 29);
}