Frank Haverland пре 3 година
родитељ
комит
551743abec
1 измењених фајлова са 15 додато и 6 уклоњено
  1. 15 6
      code/test/components/jomjol-flowcontroll/test_flowpostprocessing.cpp

+ 15 - 6
code/test/components/jomjol-flowcontroll/test_flowpostprocessing.cpp

@@ -5,7 +5,7 @@
 #include <ClassFlowMakeImage.h>
 
 void setUpClassFlowPostprocessing(void);
-string process_doFlow(std::vector<float> analog, std::vector<float> digits);
+string process_doFlow(std::vector<float> analog, std::vector<float> digits, t_CNNType digType = Digital100);
 
 ClassFlowCNNGeneral* _analog;
 ClassFlowCNNGeneral* _digit;
@@ -183,11 +183,19 @@ void test_doFlow() {
         result = process_doFlow(analogs, digits);
         TEST_ASSERT_EQUAL_STRING(expected, result.c_str());
 
+        // Fehler bei V11.2.0 
+        // https://github.com/jomjol/AI-on-the-edge-device/discussions/950#discussion-4338615
+        digits = { 1.0, 9.0, 9.0};  // Übergang wurde um 1 erhöht (200, statt 199)
+        analogs = { 7.1, 4.8, 8.3};
+        expected = "199.748";
+        result = process_doFlow(analogs, digits, Digital);
+        TEST_ASSERT_EQUAL_STRING(expected, result.c_str());
+
 }
 
 
 
-void setUpClassFlowPostprocessing(void)
+void setUpClassFlowPostprocessing(t_CNNType digType, t_CNNType anaType)
 {
     
     // wird im doFlow verwendet
@@ -195,18 +203,18 @@ void setUpClassFlowPostprocessing(void)
     FlowControll.push_back(flowmakeimage);
 
     // Die Modeltypen werden gesetzt, da keine Modelle verwendet werden.
-    _analog = new ClassFlowCNNGeneral(nullptr, Analogue100);
+    _analog = new ClassFlowCNNGeneral(nullptr, anaType);
     
-    _digit =  new ClassFlowCNNGeneral(nullptr, Digital100);
+    _digit =  new ClassFlowCNNGeneral(nullptr, digType);
 
     undertestPost = new UnderTestPost(&FlowControll, _analog, _digit);
   
 }
 
 
-std::string process_doFlow(std::vector<float> analog, std::vector<float> digits) {
+std::string process_doFlow(std::vector<float> analog, std::vector<float> digits, t_CNNType digType) {
     // setup the classundertest
-    setUpClassFlowPostprocessing();
+    setUpClassFlowPostprocessing(digType, Analogue100);
 
     printf("SetupClassFlowPostprocessing completed.\n");
 
@@ -219,6 +227,7 @@ std::string process_doFlow(std::vector<float> analog, std::vector<float> digits)
             roi* digitROI = new roi();
             string name = "digit_" + std::to_string(i);
             digitROI->name = name;
+            digitROI->result_klasse = (int) digits[i];
             digitROI->result_float = digits[i];
             gen_digit->ROI.push_back(digitROI);
         }