-#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[]) {