From dc2f06241a53ea7afbb722e2897974d73c5f15d1 Mon Sep 17 00:00:00 2001 From: Josh Stewart Date: Wed, 4 Mar 2020 18:58:23 +1100 Subject: [PATCH] Add basic tests for the dual wheel decoder --- .../test_decoders/dual_wheel/dual_wheel.cpp | 349 ++++++++++++++++++ .../test_decoders/dual_wheel/dual_wheel.h | 1 + test/tests/test_decoders/test_decoders.cpp | 2 + 3 files changed, 352 insertions(+) create mode 100644 test/tests/test_decoders/dual_wheel/dual_wheel.cpp create mode 100644 test/tests/test_decoders/dual_wheel/dual_wheel.h diff --git a/test/tests/test_decoders/dual_wheel/dual_wheel.cpp b/test/tests/test_decoders/dual_wheel/dual_wheel.cpp new file mode 100644 index 00000000..b7ad6bd6 --- /dev/null +++ b/test/tests/test_decoders/dual_wheel/dual_wheel.cpp @@ -0,0 +1,349 @@ +#include +#include +#include +#include "dual_wheel.h" + + +void test_setup_dualwheel_12_1() +{ + //Setup a 36-1 wheel + configPage4.triggerTeeth = 12; + //configPage4.triggerMissingTeeth = 1; + configPage4.TrigSpeed = CRANK_SPEED; + configPage4.trigPatternSec = SEC_TRIGGER_SINGLE; + + triggerSetup_missingTooth(); +} + +void test_setup_dualwheel_60_2() +{ + //Setup a 60-2 wheel + configPage4.triggerTeeth = 60; + configPage4.triggerMissingTeeth = 2; + configPage4.TrigSpeed = CRANK_SPEED; + configPage4.trigPatternSec = SEC_TRIGGER_SINGLE; + + triggerSetup_missingTooth(); +} + +//************************************** Begin the new ignition setEndTooth tests ************************************** +void test_dualwheel_newIgn_12_1_trig0_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 12/1 + //Advance: 10 + //triggerAngle=0 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 0; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(11, ignition1EndTooth); + + //Test again with 0 degrees advance + ignition1EndAngle = 360 - 0; //Set 0 degrees advance + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(12, ignition1EndTooth); + + //Test again with 35 degrees advance + ignition1EndAngle = 360 - 35; //Set 35 degrees advance + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(10, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig90_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 12/1 + //Advance: 10 + //triggerAngle=90 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 90; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(8, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig180_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=180 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 180; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(5, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig270_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=270 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 270; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(2, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig360_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=360 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 360; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(12, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg90_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-90 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -90; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(2, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg180_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-180 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -180; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(5, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg270_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-270 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -270; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(8, ignition1EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg360_1() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-360 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition1EndAngle = 360 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -360; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(11, ignition1EndTooth); +} + +// ******* CHannel 2 ******* +void test_dualwheel_newIgn_12_1_trig0_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=0 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 0; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(16, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig90_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=90 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 90; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(7, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig180_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=180 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 180; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(34, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig270_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=270 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 270; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(25, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trig360_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=360 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = 360; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(16, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg90_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-90 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -90; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(25, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg180_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-180 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -180; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(34, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg270_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-270 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -270; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(7, ignition2EndTooth); +} + +void test_dualwheel_newIgn_12_1_trigNeg360_2() +{ + //Test the set end tooth function. Conditions: + //Trigger: 36-1 + //Advance: 10 + //triggerAngle=-360 + test_setup_dualwheel_12_1(); + configPage4.sparkMode = IGN_MODE_WASTED; + ignition2EndAngle = 180 - 10; //Set 10 degrees advance + configPage4.triggerAngle = -360; //No trigger offset + + triggerSetEndTeeth_DualWheel(); + TEST_ASSERT_EQUAL(16, ignition2EndTooth); +} + +void test_dualwheel_newIgn_2() +{ + +} +void test_dualwheel_newIgn_3() +{ + +} +void test_dualwheel_newIgn_4() +{ + +} + +void testDualWheel() +{ + RUN_TEST(test_dualwheel_newIgn_12_1_trig0_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trig90_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trig180_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trig270_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trig360_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg90_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg180_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg270_1); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg360_1); + +/* + RUN_TEST(test_dualwheel_newIgn_12_1_trig0_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trig90_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trig180_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trig270_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trig360_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg90_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg180_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg270_2); + RUN_TEST(test_dualwheel_newIgn_12_1_trigNeg360_2); +*/ + //RUN_TEST(test_dualwheel_newIgn_60_2_trig181_2); + //RUN_TEST(test_dualwheel_newIgn_60_2_trig182_2); +} \ No newline at end of file diff --git a/test/tests/test_decoders/dual_wheel/dual_wheel.h b/test/tests/test_decoders/dual_wheel/dual_wheel.h new file mode 100644 index 00000000..db5839b4 --- /dev/null +++ b/test/tests/test_decoders/dual_wheel/dual_wheel.h @@ -0,0 +1 @@ +void testDualWheel(); diff --git a/test/tests/test_decoders/test_decoders.cpp b/test/tests/test_decoders/test_decoders.cpp index bf825448..91899c0c 100644 --- a/test/tests/test_decoders/test_decoders.cpp +++ b/test/tests/test_decoders/test_decoders.cpp @@ -4,8 +4,10 @@ #include "test_decoders.h" #include "missing_tooth/missing_tooth.h" +#include "dual_wheel/dual_wheel.h" void testDecoders() { testMissingTooth(); + testDualWheel(); } \ No newline at end of file