#include "graphics/Bitmap.hpp" #include #include TEST(basic_test, Bitmap_createBitmapWithCertainSize_yieldsSpecifiedSize) { auto bm = ptprnt::graphics::Bitmap(16, 8); auto width = bm.getWidth(); auto height = bm.getHeight(); ASSERT_EQ(width, 16); ASSERT_EQ(height, 8); } TEST(basic_test, Bitmap_getBitmapLineOutsideOfImage_yieldsNullopt) { auto bm = ptprnt::graphics::Bitmap(16, 8); // line 8 is out of bounds, count begins with 0 auto outOfBoundsLine = bm.getLine(8); ASSERT_EQ(std::nullopt, outOfBoundsLine); } TEST(basic_test, Bitmap_getBitmapLineInsideOfImage_yieldsValidLineSize) { auto bm = ptprnt::graphics::Bitmap(16, 8); auto line = bm.getLine(7); if (!line) { FAIL() << "Returned line is invalid"; } auto lineSize = line->size(); ASSERT_EQ(16, lineSize); } TEST(basic_test, Bitmap_getBitmapRowOutsideOfImage_yieldsNullopt) { auto bm = ptprnt::graphics::Bitmap(16, 8); // row 16 is out of bounds, count begins with 0 auto outOfBoundsRow = bm.getRow(16); ASSERT_EQ(std::nullopt, outOfBoundsRow); } TEST(basic_test, Bitmap_getBitmapRowInsideOfImage_yieldsValidRowSize) { auto bm = ptprnt::graphics::Bitmap(16, 8); auto row = bm.getRow(15); if (!row) { FAIL() << "Returned Row is invalid"; } auto rowSize = row->size(); ASSERT_EQ(8, rowSize); }