[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