- some tests
authorAnatoly <Titov_AI@pnpi.nrcki.ru>
Mon, 20 Jul 2020 13:42:04 +0000 (16:42 +0300)
committerAnatoly <Titov_AI@pnpi.nrcki.ru>
Mon, 20 Jul 2020 13:42:04 +0000 (16:42 +0300)
src/domaintests.cpp

index a6a51c77213e35e59777376f262312289a45b479..192361a2543b2b0b9f872010bba1c9990e3a41a6 100644 (file)
@@ -1,13 +1,79 @@
-#include <iostream>
+#include "domaintype.h"
+#include "newfit.h"
+
 #include "gtest/gtest.h"
 
-int summary (int a, int b) {
-    return a + b;
+#include <iostream>
+
+// https://habr.com/ru/post/119090/
+
+TEST( fitTests, fitTest_F )
+{
+    // расстояние по осям для направляющих векторов
+    ASSERT_NEAR(F(1, 0, 0, -1, 0, 0, 0, 0, 0), 2, 0.000001);
+    ASSERT_NEAR(F(0, 1, 0, 0, -1, 0, 0, 0, 0), 2, 0.000001);
+    ASSERT_NEAR(F(0, 0, 1, 0, 0, -1, 0, 0, 0), 2, 0.000001);
+
+    // расстояние по осям + повороты по осям для направляющих векторов
+    ASSERT_NEAR(F(1, 0, 0, -1, 0, 0, M_PI, 0, 0), 2, 0.000001);
+    ASSERT_NEAR(F(1, 0, 0, -1, 0, 0, 0, M_PI, 0), 0, 0.000001);
+    ASSERT_NEAR(F(1, 0, 0, -1, 0, 0, 0, 0, M_PI), 0, 0.000001);
+
+    ASSERT_NEAR(F(0, 1, 0, 0, -1, 0, 0, M_PI, 0), 2, 0.000001);
+    ASSERT_NEAR(F(0, 1, 0, 0, -1, 0, M_PI, 0, 0), 0, 0.000001);
+    ASSERT_NEAR(F(0, 1, 0, 0, -1, 0, 0, 0, M_PI), 0, 0.000001);
+
+    ASSERT_NEAR(F(0, 0, 1, 0, 0, -1, 0, 0, M_PI), 2, 0.000001);
+    ASSERT_NEAR(F(0, 0, 1, 0, 0, -1, 0, M_PI, 0), 0, 0.000001);
+    ASSERT_NEAR(F(0, 0, 1, 0, 0, -1, M_PI, 0, 0), 0, 0.000001);
+
+    // расстояние для сложного вектора
+    ASSERT_NEAR(F(1, 1, 1, -1, -1, -1, 0, 0, 0), std::sqrt(3) * 2, 0.000001);
+    ASSERT_NEAR(F(1, 1, 1, -1, 1, 1, 0, 0, 0), 2, 0.000001);
+    ASSERT_NEAR(F(1, 1, 1, -1, -1, 1, 0, 0, 0), std::sqrt(2) * 2, 0.000001);
+
+    // расстояния для сложного вектора + повороты
+    ASSERT_NEAR(F(1, 1, 1, -1, -1, -1, M_PI, M_PI / 2, 0), 0, 0.000001);
+    ASSERT_NEAR(F(1, 1, 1, -1, 1, 1, 0, 0, -M_PI / 2), 0, 0.000001);
+}
+
+TEST( fitTests, fitTest_searchF0xyzabc)
+{
+    // шаблон - ещё под вопросом как и нужно ли
+}
+
+TEST( fitTests, fitTest_ApplyFit)
+{
+    // шаблон - применять готовое наложение
+}
+
+TEST( fitTests, fitTest_CalcMid)
+{
+    // шаблон - проверка функции
+}
+
+TEST( fitTests, fitTest_MyFitNew)
+{
+    // шаблон - глобальное применение
+}
+
+// т.к. домены это класс с кучей приватных функций ещё под вопросом как их тестить
+// https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#testing-private-code
+// FRIEND_TEST
+
+TEST( domainTests, domainTest_default)
+{
+    // шаблон - создание класса
+}
+
+TEST( domainTests, domainTest_setDefaults)
+{
+    // шаблон - задание параметров объекта
 }
 
-TEST( test001, test001 )
+TEST( domainTests, domainTest_update)
 {
-    ASSERT_EQ(15, summary(10, 5));
+    // шаблон - глобальное применение
 }
 
 int main(int argc, char *argv[]) {