vcl/qa/cppunit/BitmapTest.cxx | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+)
New commits: commit 6a3dab0542d9bfd2dfc4f0f2dfe311f756b65953 Author: Chris Sherlock <chris.sherloc...@gmail.com> Date: Mon Feb 26 00:25:00 2018 +1100 vcl: test Bitmap::MakeMono Change-Id: I0387981296313eba4e0fb796750c0a5de8e3b7a2 Reviewed-on: https://gerrit.libreoffice.org/50306 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/vcl/qa/cppunit/BitmapTest.cxx b/vcl/qa/cppunit/BitmapTest.cxx index 38274e3b1b65..357df0905f5c 100644 --- a/vcl/qa/cppunit/BitmapTest.cxx +++ b/vcl/qa/cppunit/BitmapTest.cxx @@ -34,6 +34,7 @@ class BitmapTest : public CppUnit::TestFixture { void testCreation(); void testEmpty(); + void testMonochrome(); void testConvert(); void testScale(); void testCRC(); @@ -41,6 +42,7 @@ class BitmapTest : public CppUnit::TestFixture CPPUNIT_TEST_SUITE(BitmapTest); CPPUNIT_TEST(testCreation); CPPUNIT_TEST(testEmpty); + CPPUNIT_TEST(testMonochrome); CPPUNIT_TEST(testConvert); CPPUNIT_TEST(testScale); CPPUNIT_TEST(testCRC); @@ -166,6 +168,72 @@ void BitmapTest::testEmpty() CPPUNIT_ASSERT(aBitmap.IsEmpty()); } +void BitmapTest::testMonochrome() +{ + Bitmap aBmp(Size(4, 4), 24); + BitmapWriteAccess aBmpAccess(aBmp); + + // row 1 + aBmpAccess.SetPixel(0, 0, BitmapColor(Color(COL_BLACK))); + aBmpAccess.SetPixel(0, 1, BitmapColor(Color(COL_BLUE))); + aBmpAccess.SetPixel(0, 2, BitmapColor(Color(COL_GREEN))); + aBmpAccess.SetPixel(0, 3, BitmapColor(Color(COL_CYAN))); + + // row 2 + aBmpAccess.SetPixel(1, 0, BitmapColor(Color(COL_RED))); + aBmpAccess.SetPixel(1, 1, BitmapColor(Color(COL_MAGENTA))); + aBmpAccess.SetPixel(1, 2, BitmapColor(Color(COL_BROWN))); + aBmpAccess.SetPixel(1, 3, BitmapColor(Color(COL_GRAY))); + + // row 3 + aBmpAccess.SetPixel(2, 0, BitmapColor(Color(COL_LIGHTGRAY))); + aBmpAccess.SetPixel(2, 1, BitmapColor(Color(COL_LIGHTBLUE))); + aBmpAccess.SetPixel(2, 2, BitmapColor(Color(COL_LIGHTGREEN))); + aBmpAccess.SetPixel(2, 3, BitmapColor(Color(COL_LIGHTCYAN))); + + // row 4 + aBmpAccess.SetPixel(3, 0, BitmapColor(Color(COL_LIGHTRED))); + aBmpAccess.SetPixel(3, 1, BitmapColor(Color(COL_LIGHTMAGENTA))); + aBmpAccess.SetPixel(3, 2, BitmapColor(Color(COL_YELLOW))); + aBmpAccess.SetPixel(3, 3, BitmapColor(Color(COL_WHITE))); + + aBmp.MakeMono(63); + BitmapReadAccess aBmpReadAccess(aBmp); + + CPPUNIT_ASSERT_EQUAL_MESSAGE("Black pixel wrong monochrome value", + BitmapColor(Color(COL_BLACK)), aBmpReadAccess.GetColor(0, 0)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Blue pixel wrong monochrome value", BitmapColor(Color(COL_BLACK)), + aBmpReadAccess.GetColor(0, 1)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Green pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(0, 2)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Cyan pixel wrong monochrome value", BitmapColor(Color(COL_WHITE)), + aBmpReadAccess.GetColor(0, 3)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Red pixel wrong monochrome value", BitmapColor(Color(COL_BLACK)), + aBmpReadAccess.GetColor(1, 0)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Magenta pixel wrong monochrome value", + BitmapColor(Color(COL_BLACK)), aBmpReadAccess.GetColor(1, 1)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Brown pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(1, 2)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Gray pixel wrong monochrome value", BitmapColor(Color(COL_WHITE)), + aBmpReadAccess.GetColor(1, 3)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Light gray pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(2, 0)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Light blue pixel wrong monochrome value", + BitmapColor(Color(COL_BLACK)), aBmpReadAccess.GetColor(2, 1)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Light green pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(2, 2)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Light cyan pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(2, 3)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Light red pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(3, 0)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Light magenta pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(3, 1)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Yellow pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(3, 2)); + CPPUNIT_ASSERT_EQUAL_MESSAGE("White pixel wrong monochrome value", + BitmapColor(Color(COL_WHITE)), aBmpReadAccess.GetColor(3, 3)); +} + void BitmapTest::testConvert() { Bitmap aBitmap(Size(10, 10), 8); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits