Added unit test for header sizes

This commit is contained in:
Leonetienne 2022-03-05 19:43:42 +01:00
parent e0dddb42d0
commit 1fdd062e4d
2 changed files with 28 additions and 0 deletions

27
Test/BmpHeader.cpp Normal file
View File

@ -0,0 +1,27 @@
#include <BmpHeader.h>
#include "Catch2.h"
using namespace Leonetienne::BmpPP;
// Tests that the reported header sizes are correct
TEST_CASE(__FILE__"/DoHeaderSizesMatch", "[Header]")
{
BmpHeader header;
SECTION("DibHeader size") {
REQUIRE(header.dibHeader.dibHeaderSize == header.dibHeader.NBYTES);
REQUIRE(header.dibHeader.dibHeaderSize == 40);
}
SECTION("FileHeader size") {
REQUIRE(header.fileHeader.NBYTES == 14);
}
SECTION("RenderedHeader size") {
const std::vector<std::uint8_t> headerBytes = header.ToBytes();
REQUIRE(headerBytes.size() == header.fileHeader.NBYTES + header.dibHeader.NBYTES);
}
return;
}

View File

@ -10,6 +10,7 @@ add_executable(Test
Catch2.h
main.cpp
BmpHeader.cpp
)
target_link_libraries(Test BmpPP)