Added unit test for re-initialization

This commit is contained in:
Leonetienne 2022-03-05 19:59:32 +01:00
parent f146826ff9
commit b27068a6b6
2 changed files with 43 additions and 5 deletions

View File

@ -3,15 +3,21 @@ project(Test)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
include_directories(../Src) ADD_COMPILE_DEFINITIONS(_EULE_NO_INTRINSICS_)
link_directories(../Src/cmake-build-debug)
INCLUDE_DIRECTORIES(../Src/Eule/)
INCLUDE_DIRECTORIES(../Src/)
FILE(GLOB Eule ../Src/Eule/Eule/*.cpp)
FILE(GLOB BmpPP ../Src/*.cpp)
add_executable(Test add_executable(Test
${Eule}
${BmpPP}
Catch2.h Catch2.h
main.cpp main.cpp
BmpHeader.cpp BmpHeader.cpp
ReInitialize.cpp
) )
target_link_libraries(Test BmpPP)

32
Test/ReInitialize.cpp Normal file
View File

@ -0,0 +1,32 @@
#include <Bmp.h>
#include "Catch2.h"
using namespace Leonetienne::BmpPP;
// Tests that re-initializing images produces the correct getter values
TEST_CASE(__FILE__"/ReInitialize", "[ReInitialize]")
{
// Create image
BMP bmp({800, 600}, Colormode::RGBA);
SECTION("Check that the initial values are OK") {
REQUIRE(bmp.GetDimensions().x == 800);
REQUIRE(bmp.GetDimensions().y == 600);
REQUIRE(bmp.GetNumColorChannels() == 4);
REQUIRE(bmp.GetColormode() == Colormode::RGBA);
REQUIRE(bmp.GetPixelbufferSize() == 800*600*4);
}
// Now re-initialize the image
bmp.ReInitialize({1920, 1080}, Colormode::RGB);
SECTION("Check that getters now return the updated values") {
REQUIRE(bmp.GetDimensions().x == 1920);
REQUIRE(bmp.GetDimensions().y == 1080);
REQUIRE(bmp.GetNumColorChannels() == 3);
REQUIRE(bmp.GetColormode() == Colormode::RGB);
REQUIRE(bmp.GetPixelbufferSize() == 1920*1080*3);
}
return;
}