- optimized Fit/Domain tests to be more readable
authorAnatoly <Titov_AI@pnpi.nrcki.ru>
Wed, 29 Jul 2020 11:01:27 +0000 (14:01 +0300)
committerAnatoly <Titov_AI@pnpi.nrcki.ru>
Wed, 29 Jul 2020 11:01:27 +0000 (14:01 +0300)
src/domaintests.cpp

index 42b2477ad50995cef1792513e1fe1b53ea08f856..658ad84360821bf96bd2d0909c70099ede5d0aba 100644 (file)
@@ -42,6 +42,13 @@ TEST( fitTests, fitTest_searchF0xyzabc)
     // шаблон - ещё под вопросом нужно ли и как сделать если да
 }
 
+void ApplyFitRoutine(std::vector< RVec > fr1, std::vector< RVec > fr2, std::vector< RVec > fr3, std::vector< std::pair< unsigned int, unsigned int > > testPairs, double x, double y, double z, double A, double B, double C, RVec &md1, RVec &md2) {
+    fr3.resize(0);
+    fr3 = fr2;
+    ApplyFit(fr3, x, y, z, A, B, C);
+    CalcMid(fr1, fr3, md1, md2, testPairs);
+}
+
 TEST( fitTests, fitTest_ApplyFit)
 {
     RVec mid1, mid2, x1(1, 0, 0), y1(0, 1, 0), z1(0, 0, 1), x2(-1, 0, 0), y2(0, -1, 0), z2(0, 0, -1);
@@ -59,34 +66,19 @@ TEST( fitTests, fitTest_ApplyFit)
         testPairs.push_back(std::make_pair(i, i));
     }
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame2;
-    ApplyFit(testFrame3, 2, 2, 2, 0, 0, 0);
-    CalcMid(testFrame1, testFrame3, mid1, mid2, testPairs);
+    ApplyFitRoutine(testFrame1, testFrame2, testFrame3, testPairs, 2, 2, 2, 0, 0, 0, mid1, mid2);
     ASSERT_NEAR((mid1 - mid2).norm(), 0, 0.000001);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame1;
-    ApplyFit(testFrame3, 0, 0, 0, M_PI, 0, -M_PI / 2);
-    CalcMid(testFrame2, testFrame3, mid1, mid2, testPairs);
+    ApplyFitRoutine(testFrame2, testFrame1, testFrame3, testPairs, 0, 0, 0, M_PI, 0, -M_PI / 2, mid1, mid2);
     ASSERT_NEAR((mid1 - mid2).norm(), 0, 0.000001);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame1;
-    ApplyFit(testFrame3, 0, 0, 0, 0, M_PI, M_PI / 2);
-    CalcMid(testFrame2, testFrame3, mid1, mid2, testPairs);
+    ApplyFitRoutine(testFrame2, testFrame1, testFrame3, testPairs, 0, 0, 0, 0, M_PI, M_PI / 2, mid1, mid2);
     ASSERT_NEAR((mid1 - mid2).norm(), 0, 0.000001);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame1;
-    ApplyFit(testFrame3, 0, 0, 0, M_PI, M_PI / 2, 0);
-    CalcMid(testFrame2, testFrame3, mid1, mid2, testPairs);
+    ApplyFitRoutine(testFrame2, testFrame1, testFrame3, testPairs, 0, 0, 0, M_PI, M_PI / 2, 0, mid1, mid2);
     ASSERT_NEAR((mid1 - mid2).norm(), 0, 0.000001);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame1;
-    ApplyFit(testFrame3, 0, 0, 0, 3 * M_PI / 2, M_PI / 2, M_PI / 2);
-    CalcMid(testFrame2, testFrame3, mid1, mid2, testPairs);
+    ApplyFitRoutine(testFrame2, testFrame1, testFrame3, testPairs, 0, 0, 0, 3 * M_PI / 2, M_PI / 2, M_PI / 2, mid1, mid2);
     ASSERT_NEAR((mid1 - mid2).norm(), 0, 0.000001);
 
     testFrame3.resize(0);
@@ -107,15 +99,7 @@ TEST( fitTests, fitTest_ApplyFit)
 
 TEST( fitTests, fitTest_CalcMid)
 {
-    RVec mid1, mid2, x1, y1, z1, x2, y2, z2;
-
-    x1[0] = 1; x1[1] = 0; x1[2] = 0;
-    y1[0] = 0; y1[1] = 1; y1[2] = 0;
-    z1[0] = 0; z1[1] = 0; z1[2] = 1;
-
-    x2[0] = -1; x2[1] = 0; x2[2] = 0;
-    y2[0] = 0; y2[1] = -1; y2[2] = 0;
-    z2[0] = 0; z2[1] = 0; z2[2] = -1;
+    RVec mid1, mid2, x1(1, 0, 0), y1(0, 1, 0), z1(0, 0, 1), x2(-1, 0, 0), y2(0, -1, 0), z2(0, 0, -1);
 
     std::vector< RVec > testFrame1, testFrame2;
     testFrame1.resize(0);
@@ -139,15 +123,20 @@ TEST( fitTests, fitTest_CalcMid)
     ASSERT_NEAR((mid1 - mid2).norm(), 2 * std::sqrt(3), 0.000001);
 }
 
+void myFitNewRoutine(std::vector< RVec > fr1, std::vector< RVec > fr2, std::vector< RVec > fr3, std::vector< std::pair< unsigned int, unsigned int > > testPairs, double x, double y, double z, double A, double B, double C, double prc, double &tF) {
+    fr3.resize(0);
+    fr3 = fr2;
+    ApplyFit(fr3, x, y, z, A, B, C);
+    MyFitNew(fr1, fr3, testPairs, prc);
+    tF = 0;
+    for (unsigned int i = 0; i < fr1.size(); i++) {
+        tF += F(fr1[i][0], fr1[i][1], fr1[i][2], fr3[i][0], fr3[i][1], fr3[i][2], 0, 0, 0);
+    }
+}
+
 TEST( fitTests, fitTest_MyFitNew)
 {
-    RVec a, x1, y1, z1;
-
-    x1[0] = 1; x1[1] = 0; x1[2] = 0;
-    y1[0] = 0; y1[1] = 1; y1[2] = 0;
-    z1[0] = 0; z1[1] = 0; z1[2] = 1;
-
-    a[0] = -2; a[1] = -2; a[2] = -2;
+    RVec a(-2, -2, -2), x1(1, 0, 0), y1(0, 1, 0), z1(0, 0, 1);
 
     std::vector< RVec > testFrame1, testFrame2, testFrame3;
     testFrame1.resize(0);
@@ -162,52 +151,21 @@ TEST( fitTests, fitTest_MyFitNew)
         testPairs.push_back(std::make_pair(i, i));
     }
 
-    testFrame3 = testFrame2;
-    MyFitNew(testFrame1, testFrame3, testPairs, 0);
     double testF = 0;
-    for (unsigned int i = 0; i < testFrame1.size(); i++) {
-        testF += F(testFrame1[i][0], testFrame1[i][1], testFrame1[i][2], testFrame3[i][0], testFrame3[i][1], testFrame3[i][2], 0, 0, 0);
-    }
+
+    myFitNewRoutine(testFrame1, testFrame2, testFrame3, testPairs, 0, 0, 0, 0, 0, 0, 0.000001, testF);
     ASSERT_NEAR(testF, 0, 0.000001);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame2;
-    ApplyFit(testFrame3, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2);
-    MyFitNew(testFrame1, testFrame3, testPairs, 0.000001);
-    testF = 0;
-    for (unsigned int i = 0; i < testFrame1.size(); i++) {
-        testF += F(testFrame1[i][0], testFrame1[i][1], testFrame1[i][2], testFrame3[i][0], testFrame3[i][1], testFrame3[i][2], 0, 0, 0);
-    }
+    myFitNewRoutine(testFrame1, testFrame2, testFrame3, testPairs, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2, 0.000001, testF);
     ASSERT_NEAR(testF, 0, 0.01);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame2;
-    ApplyFit(testFrame3, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2);
-    MyFitNew(testFrame1, testFrame3, testPairs, 0.0000001);
-    testF = 0;
-    for (unsigned int i = 0; i < testFrame1.size(); i++) {
-        testF += F(testFrame1[i][0], testFrame1[i][1], testFrame1[i][2], testFrame3[i][0], testFrame3[i][1], testFrame3[i][2], 0, 0, 0);
-    }
+    myFitNewRoutine(testFrame1, testFrame2, testFrame3, testPairs, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2, 0.0000001, testF);
     ASSERT_NEAR(testF, 0, 0.001);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame2;
-    ApplyFit(testFrame3, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2);
-    MyFitNew(testFrame1, testFrame3, testPairs, 0.0000001);
-    testF = 0;
-    for (unsigned int i = 0; i < testFrame1.size(); i++) {
-        testF += F(testFrame1[i][0], testFrame1[i][1], testFrame1[i][2], testFrame3[i][0], testFrame3[i][1], testFrame3[i][2], 0, 0, 0);
-    }
+    myFitNewRoutine(testFrame1, testFrame2, testFrame3, testPairs, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2, 0.0000001, testF);
     ASSERT_NEAR(testF, 0, 0.0001);
 
-    testFrame3.resize(0);
-    testFrame3 = testFrame2;
-    ApplyFit(testFrame3, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2);
-    MyFitNew(testFrame1, testFrame3, testPairs, 0.00000001);
-    testF = 0;
-    for (unsigned int i = 0; i < testFrame1.size(); i++) {
-        testF += F(testFrame1[i][0], testFrame1[i][1], testFrame1[i][2], testFrame3[i][0], testFrame3[i][1], testFrame3[i][2], 0, 0, 0);
-    }
+    myFitNewRoutine(testFrame1, testFrame2, testFrame3, testPairs, 7.1534, 0.5591, -3.1415, M_PI / 23, M_PI / 17, M_PI / 2.2, 0.00000001, testF);
     ASSERT_NEAR(testF, 0, 0.00001);
 
 }