diff --git a/Test/BmpHeader.cpp b/Test/BmpHeader.cpp new file mode 100644 index 0000000..ff1eeba --- /dev/null +++ b/Test/BmpHeader.cpp @@ -0,0 +1,27 @@ +#include +#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 headerBytes = header.ToBytes(); + + REQUIRE(headerBytes.size() == header.fileHeader.NBYTES + header.dibHeader.NBYTES); + } + + return; +} diff --git a/Test/CMakeLists.txt b/Test/CMakeLists.txt index 31e1055..3efb081 100644 --- a/Test/CMakeLists.txt +++ b/Test/CMakeLists.txt @@ -10,6 +10,7 @@ add_executable(Test Catch2.h main.cpp + BmpHeader.cpp ) target_link_libraries(Test BmpPP)