diff --git a/code/test/components/jomjol-flowcontroll/test_flowpostprocessing.cpp b/code/test/components/jomjol-flowcontroll/test_flowpostprocessing.cpp index e71c4acb..80b61bdd 100644 --- a/code/test/components/jomjol-flowcontroll/test_flowpostprocessing.cpp +++ b/code/test/components/jomjol-flowcontroll/test_flowpostprocessing.cpp @@ -548,47 +548,59 @@ void test_doFlowPP4() { } -void test_doFlowPP_rainman110() { +void test_doFlowPP_rainman110() +{ // https://github.com/jomjol/AI-on-the-edge-device/issues/2743 // --> Extreme early digit transition. AnanlogDigitTransition needs to set to 3.5 (was limited to 6) std::vector digits = {4.0, 1.0, 1.8}; // wrong result: 412.3983 std::vector analogs = {3.6, 9.9, 8.1, 3.5}; - UnderTestPost* undertestPost = init_do_flow(analogs, digits, Digital100, false, false, 0); setAnalogdigitTransistionStart(undertestPost, 3.5); - std::string result = process_doFlow(undertestPost); - TEST_ASSERT_EQUAL_STRING("411.3983", result.c_str()); + TEST_ASSERT_EQUAL_STRING("411.3983", process_doFlow(undertestPost).c_str()); delete undertestPost; - + // https://github.com/jomjol/AI-on-the-edge-device/pull/2887 // --> Extreme early digit transition. AnanlogDigitTransition needs to set to 3.5 (was limited to 6) digits = {4.0, 1.0, 7.9}; // wrong result: 417.2579 analogs = {2.5, 5.8, 7.7, 9.0}; - + undertestPost = init_do_flow(analogs, digits, Digital100, false, false, 0); setAnalogdigitTransistionStart(undertestPost, 3.5); - result = process_doFlow(undertestPost); - TEST_ASSERT_EQUAL_STRING("418.2579", result.c_str()); + TEST_ASSERT_EQUAL_STRING("418.2579", process_doFlow(undertestPost).c_str()); delete undertestPost; - // Edge cases + // Edge Case + digits = {9.9, 9.4}; + analogs = {5.0, 0.0}; + undertestPost = init_do_flow(analogs, digits, Digital100, false, false, 0); setAnalogdigitTransistionStart(undertestPost, 8.0); - TEST_ASSERT_EQUAL_STRING("99.50", process_doFlow({5.0, 0.0}, {9.9, 9.4}, - Digital100, false, false, 0).c_str()); + TEST_ASSERT_EQUAL_STRING("99.50", process_doFlow(undertestPost).c_str()); delete undertestPost; - + + // Edge Case + digits = {1.0, 0.0, 0.0}; + analogs = {9.5, 5.0}; undertestPost = init_do_flow(analogs, digits, Digital100, false, false, 0); setAnalogdigitTransistionStart(undertestPost, 8.0); - TEST_ASSERT_EQUAL_STRING("99.95", process_doFlow({9.5, 5.0}, {1.0, 0.0, 0.0}, - Digital100, false, false, 0).c_str()); + TEST_ASSERT_EQUAL_STRING("99.95", process_doFlow(undertestPost).c_str()); + delete undertestPost; + + // https://github.com/jomjol/AI-on-the-edge-device/pull/2887 + // Discussion 149365.9 vs. 149364.9 + digits = {0.9, 4.8, 9.0, 3.0, 6.0, 5.0}; + analogs = {9.6}; + + undertestPost = init_do_flow(analogs, digits, Digital100, false, false, 0); + setAnalogdigitTransistionStart(undertestPost, 9.2); + TEST_ASSERT_EQUAL_STRING("149364.9", process_doFlow(undertestPost).c_str()); delete undertestPost; } -void test_doFlowPP_rainman110_transition() { - - // https://github.com/jomjol/AI-on-the-edge-device/pull/2887 +void test_doFlowPP_rainman110_transition() +{ + // https://github.com/jomjol/AI-on-the-edge-device/pull/2887 // Edge cases std::vector digits = {4.0, 1.0, 7.9}; std::vector analogs = {1.4, 5.8, 7.7, 9.0}; @@ -631,5 +643,4 @@ void test_doFlowPP_rainman110_transition() { result = process_doFlow(undertestPost); TEST_ASSERT_EQUAL_STRING("418.4579", result.c_str()); delete undertestPost; - }