[Libreoffice-commits] core.git: vcl/qa

Chris Sherlock chris.sherlock79 at gmail.com
Sun Feb 25 21:28:12 UTC 2018


 vcl/qa/cppunit/BitmapTest.cxx |   68 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

New commits:
commit 6a3dab0542d9bfd2dfc4f0f2dfe311f756b65953
Author: Chris Sherlock <chris.sherlock79 at 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 <ci at libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <quikee at 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);


More information about the Libreoffice-commits mailing list