/
Xakka
/
CPP4
Обзор
Документация
Войти
/
Xakka
/
CPP4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/tests/test.cpp
298 строк
7 KB
moshedur
master: release 1.0
05 янв 2025, 00:19
05 янв 2025, 00:19
c27b78a
Код
Авторство
О чём код?
#include <gtest/gtest.h> #define CPP4_3DVIEWER_V2_0_1_SRC_TESTS #include "../gtk.cpp" int main(int argc, char *argv[]) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } TEST(transform, identity) { s21::View test; test.transform = glm::mat4(1.0f); test.trans(); glm::mat4 standart; standart = {1, 8.74227695e-08, 8.74227837e-08, 0, -8.74227766e-08, 1, 8.74227695e-08, 0, -8.74227766e-08, -8.74227766e-08, 1, 0, 0, 0, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, translate_x) { s21::View test; test.transform = glm::mat4(1.0f); test.move_coord[0] = 2; test.trans(); glm::mat4 standart; standart = {1, 8.74227695e-08, 8.74227837e-08, 0, -8.74227766e-08, 1, 8.74227695e-08, 0, -8.74227766e-08, -8.74227766e-08, 1, 0, 2, 0, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, translate_y) { s21::View test; test.transform = glm::mat4(1.0f); test.move_coord[1] = 2; test.trans(); glm::mat4 standart; standart = {1, 8.74227695e-08, 8.74227837e-08, 0, -8.74227766e-08, 1, 8.74227695e-08, 0, -8.74227766e-08, -8.74227766e-08, 1, 0, 0, 2, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, translate_z) { s21::View test; test.transform = glm::mat4(1.0f); test.move_coord[2] = 2; test.trans(); glm::mat4 standart; standart = {1, 8.74227695e-08, 8.74227837e-08, 0, -8.74227766e-08, 1, 8.74227695e-08, 0, -8.74227766e-08, -8.74227766e-08, 1, 0, 0, 0, 2, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, translate_xyz) { s21::View test; test.transform = glm::mat4(1.0f); test.move_coord[0] = 2; test.move_coord[1] = 2; test.move_coord[2] = 2; test.trans(); glm::mat4 standart; standart = {1, 8.74227695e-08, 8.74227837e-08, 0, -8.74227766e-08, 1, 8.74227695e-08, 0, -8.74227766e-08, -8.74227766e-08, 1, 0, 2, 2, 2, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, scale) { s21::View test; test.transform = glm::mat4(1.0f); test.scale_value = 2; test.trans(); glm::mat4 standart; standart = {2, 1.74845539e-07, 1.74845567e-07, 0, -1.74845553e-07, 2, 1.74845539e-07, 0, -1.74845553e-07, -1.74845553e-07, 2, 0, 0, 0, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, rotate_x) { s21::View test; test.transform = glm::mat4(1.0f); test.rotate_coord[0] = 90; test.trans(); glm::mat4 standart; standart = {0.99999994, 8.74227837e-08, -8.74227695e-08, 0, -8.74227695e-08, 4.37113812e-08, -1, 0, -8.74227695e-08, 1, 4.37113883e-08, 0, 0, 0, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, rotate_y) { s21::View test; test.transform = glm::mat4(1.0f); test.rotate_coord[1] = 90; test.trans(); glm::mat4 standart; standart = {4.37113883e-08, 1.74845553e-07, -1, 0, -3.82137093e-15, 0.99999994, 1.74845553e-07, 0, 1, -3.82137093e-15, 4.37113883e-08, 0, 0, 0, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, rotate_z) { s21::View test; test.transform = glm::mat4(1.0f); test.rotate_coord[2] = 90; test.trans(); glm::mat4 standart; standart = {4.37113883e-08, -1, -8.74227695e-08, 0, 1, 4.37113812e-08, 8.74227837e-08, 0, -8.74227695e-08, -8.74227695e-08, 0.99999994, 0, 0, 0, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(transform, rotate_xyz) { s21::View test; test.transform = glm::mat4(1.0f); test.rotate_coord[0] = 90; test.rotate_coord[1] = 90; test.rotate_coord[2] = 90; test.trans(); glm::mat4 standart; standart = {1.91068525e-15, -8.74227766e-08, 0.99999994, 0, 4.37113847e-08, -1, -8.74227766e-08, 0, 0.999999881, 4.37113847e-08, 1.91068525e-15, 0, 0, 0, 0, 1}; EXPECT_EQ(standart, test.transform); } TEST(open_file, prism) { s21::ObjReader *obj_reader = s21::ObjReader::getInstance(); obj_reader->openFile("../data-samples/prism.obj"); std::vector<float> std_vertices = {0, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0, 0, 0, 0.769999981}; std::vector<int> std_indices = {0, 1, 1, 2, 2, 0, 0, 1, 1, 3, 3, 0, 1, 2, 2, 3, 3, 1, 0, 2, 2, 3, 3, 0}; EXPECT_EQ("6", obj_reader->model.count_edges); EXPECT_EQ("4", obj_reader->model.count_vertices); EXPECT_EQ("../data-samples/prism.obj", obj_reader->model.filename); EXPECT_EQ("Prism", obj_reader->model.name); EXPECT_EQ(std_vertices, obj_reader->model.vertices); EXPECT_EQ(std_indices, obj_reader->model.indices); } TEST(open_file, cube) { s21::ObjReader *obj_reader = s21::ObjReader::getInstance(); obj_reader->openFile("../data-samples/cube.obj"); std::vector<float> std_vertices = { -0.769999981, -0.769999981, -0.769999981, -0.769999981, -0.769999981, 0.769999981, -0.769999981, 0.769999981, -0.769999981, -0.769999981, 0.769999981, 0.769999981, 0.769999981, -0.769999981, -0.769999981, 0.769999981, -0.769999981, 0.769999981, 0.769999981, 0.769999981, -0.769999981, 0.769999981, 0.769999981, 0.769999981}; std::vector<int> std_indices = { 0, 2, 2, 6, 6, 4, 4, 0, 0, 1, 1, 3, 3, 2, 2, 0, 0, 1, 1, 5, 5, 4, 4, 0, 4, 5, 5, 7, 7, 6, 6, 4, 7, 5, 5, 1, 1, 3, 3, 7, 7, 6, 6, 2, 2, 3, 3, 7}; EXPECT_EQ("12", obj_reader->model.count_edges); EXPECT_EQ("8", obj_reader->model.count_vertices); EXPECT_EQ("../data-samples/cube.obj", obj_reader->model.filename); EXPECT_EQ("Cube", obj_reader->model.name); EXPECT_EQ(std_vertices, obj_reader->model.vertices); EXPECT_EQ(std_indices, obj_reader->model.indices); }