From 0f156e7211848012464792dffcd49f56a6c321e6 Mon Sep 17 00:00:00 2001 From: "Le-Bao-Tin.Ha" <le-bao-tin.ha@insa-rennes.fr> Date: Mon, 15 Mar 2021 00:04:41 +0100 Subject: [PATCH] add module test --- GAME/CMakeLists.txt | 39 ++++++++++++++++++++++++++++------ GAME/include/test_personnage.h | 34 +++++++++++++++++++++++++++++ GAME/test_main.cpp | 12 +++++++++++ 3 files changed, 79 insertions(+), 6 deletions(-) create mode 100644 GAME/include/test_personnage.h create mode 100644 GAME/test_main.cpp diff --git a/GAME/CMakeLists.txt b/GAME/CMakeLists.txt index 68a467f..bee338e 100644 --- a/GAME/CMakeLists.txt +++ b/GAME/CMakeLists.txt @@ -1,19 +1,46 @@ cmake_minimum_required(VERSION 3.17) -project(INSAGAME C) + set(CMAKE_C_STANDARD 90) +set(CMAKE_CXX_STANDARD 11) if (WIN32) message ([STATUS]" os Windows") - include_directories(include) set(SDL2_INCLUDE_DIR C:/TDM-GCC-64/x86_64-w64-mingw32/include) set(SDL2_LIB_DIR C:/TDM-GCC-64/x86_64-w64-mingw32/lib) - file(GLOB_RECURSE SOURCES "src/*c" main.c) - add_executable(INSAGAME ${SOURCES}) - target_link_libraries(${PROJECT_NAME} mingw32 SDL2main SDL2 SDL2_image) + option(BUILD_TESTS OFF) + set(BUILD_TESTS ON) + + if(BUILD_TESTS) + project(INSAGAMETEST C CXX) + + set(GTEST_INCLUDE_DIR /googletest/googletest/include) + include_directories(include) + include_directories(${GTEST_INCLUDE_DIR}) + enable_testing() + + add_subdirectory(googletest) + file(GLOB_RECURSE SOURCES "src/*c" test_main.cpp) + + add_executable(INSAGAMETEST ${SOURCES}) + target_link_libraries(${PROJECT_NAME} mingw32 SDL2main SDL2 SDL2_image gtest gtest_main) + add_test( + NAME INSAGAMETEST + COMMAND INSAGAMETEST + ) + else() + include_directories(include) + project(INSAGAME C) + file(GLOB_RECURSE SOURCES "src/*c" main.c) + add_executable(INSAGAME ${SOURCES}) + target_link_libraries(${PROJECT_NAME} mingw32 SDL2main SDL2 SDL2_image) + + endif(BUILD_TESTS) + + else(APPLE) @@ -27,7 +54,7 @@ else(APPLE) include_directories( ${SDL2_INCLUDE_DIRS} "/usr/local/Cellar/sdl2_image/2.0.5/include/SDL2" "include" ) file(GLOB_RECURSE SOURCES "src/*c" main.c) - add_executable(INSAGAME ${SOURCES} include/GAME.c include/GAME.h) + add_executable(INSAGAME ${SOURCES} include/GAME.c include/GAME.h test_main.c test/testpersonnage.cpp) target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARIES} "-L/usr/local/Cellar/sdl2_image/2.0.5/lib -lSDL2") diff --git a/GAME/include/test_personnage.h b/GAME/include/test_personnage.h new file mode 100644 index 0000000..6af28f6 --- /dev/null +++ b/GAME/include/test_personnage.h @@ -0,0 +1,34 @@ +/* +// Created by Tiny on 3/14/2021. +*/ + +#ifndef INSAGAME_TEST_PERSONNAGE_H +#define INSAGAME_TEST_PERSONNAGE_H + +#include <gtest/gtest.h> +extern "C"{ +#include "personnage.h" +} + +TEST(test_init_personnage,values_3_3_3_3_3_testimage){ + Personnage person; + init_pers(&person,3,3,3,3,3,"testimage"); + EXPECT_EQ(3,person.x_pers); + EXPECT_EQ(3,person.y_pers); + EXPECT_EQ(3,person.long_pers); + EXPECT_EQ(3,person.larg_pers); + EXPECT_STREQ("testimage",person.image_pers); +} +TEST(test_calcul_point,values_3_3){ + Personnage person; + init_pers(&person,3,3,3,3,3,"testimage"); + calculpointspers(&person); + EXPECT_EQ(6,person.x_hr); + EXPECT_EQ(3,person.y_hr); + EXPECT_EQ(3,person.x_ll); + EXPECT_EQ(6,person.y_ll); + EXPECT_EQ(6,person.x_lr); + EXPECT_EQ(6,person.y_lr); + +} +#endif /*INSAGAME_TEST_PERSONNAGE_H*/ diff --git a/GAME/test_main.cpp b/GAME/test_main.cpp new file mode 100644 index 0000000..419e2b4 --- /dev/null +++ b/GAME/test_main.cpp @@ -0,0 +1,12 @@ +#include <gtest/gtest.h> + +#include "test_personnage.h" + + + +int main(int argc, char* args[]){ + + ::testing::InitGoogleTest(&argc, args); + return RUN_ALL_TESTS(); + +} \ No newline at end of file -- GitLab