summaryrefslogtreecommitdiff
path: root/basegfx/test
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@Sun.COM>2009-10-22 17:29:01 +0200
committerArmin Le Grand <Armin.Le.Grand@Sun.COM>2009-10-22 17:29:01 +0200
commit1e7cd1ecd7a6b730daf90bae9ec9bd9b1b19c9e6 (patch)
tree53a78aaa7367b718070df14bec3290c120faa745 /basegfx/test
parent5de3269dcd48cd653837de3d576d7be3df679927 (diff)
parentcf144cb77169bfc84604434f4b7923fe5dac3d1e (diff)
commit after rebase to DEV300m62
Diffstat (limited to 'basegfx/test')
-rw-r--r--basegfx/test/basegfx2d.cxx175
-rw-r--r--basegfx/test/makefile.mk1
2 files changed, 176 insertions, 0 deletions
diff --git a/basegfx/test/basegfx2d.cxx b/basegfx/test/basegfx2d.cxx
index 07d6eb4c54e5..b4c9453c1d3c 100644
--- a/basegfx/test/basegfx2d.cxx
+++ b/basegfx/test/basegfx2d.cxx
@@ -43,6 +43,8 @@
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <basegfx/range/b2dmultirange.hxx>
#include <basegfx/numeric/ftools.hxx>
+#include <basegfx/color/bcolor.hxx>
+#include <basegfx/color/bcolortools.hxx>
#include <basegfx/tools/debugplotter.hxx>
@@ -1443,6 +1445,178 @@ public:
CPPUNIT_TEST_SUITE_END();
}; // class b2dvector
+class bcolor : public CppUnit::TestFixture
+{
+ BColor maWhite;
+ BColor maBlack;
+ BColor maRed;
+ BColor maGreen;
+ BColor maBlue;
+ BColor maYellow;
+ BColor maMagenta;
+ BColor maCyan;
+
+public:
+ bcolor() :
+ maWhite(1,1,1),
+ maBlack(0,0,0),
+ maRed(1,0,0),
+ maGreen(0,1,0),
+ maBlue(0,0,1),
+ maYellow(1,1,0),
+ maMagenta(1,0,1),
+ maCyan(0,1,1)
+ {}
+
+
+ // initialise your test code values here.
+ void setUp()
+ {
+ }
+
+ void tearDown()
+ {
+ }
+
+ // insert your test code here.
+ void hslTest()
+ {
+ CPPUNIT_ASSERT_MESSAGE("white",
+ tools::rgb2hsl(maWhite) == BColor(0,0,1));
+ CPPUNIT_ASSERT_MESSAGE("black",
+ tools::rgb2hsl(maBlack) == BColor(0,0,0));
+ CPPUNIT_ASSERT_MESSAGE("red",
+ tools::rgb2hsl(maRed) == BColor(0,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("green",
+ tools::rgb2hsl(maGreen) == BColor(120,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("blue",
+ tools::rgb2hsl(maBlue) == BColor(240,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("yellow",
+ tools::rgb2hsl(maYellow) == BColor(60,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("magenta",
+ tools::rgb2hsl(maMagenta) == BColor(300,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("cyan",
+ tools::rgb2hsl(maCyan) == BColor(180,1,0.5));
+
+ CPPUNIT_ASSERT_MESSAGE("roundtrip white",
+ tools::hsl2rgb(tools::rgb2hsl(maWhite)) == maWhite);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip black",
+ tools::hsl2rgb(tools::rgb2hsl(maBlack)) == maBlack);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip red",
+ tools::hsl2rgb(tools::rgb2hsl(maRed)) == maRed);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip green",
+ tools::hsl2rgb(tools::rgb2hsl(maGreen)) == maGreen);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip blue",
+ tools::hsl2rgb(tools::rgb2hsl(maBlue)) == maBlue);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip yellow",
+ tools::hsl2rgb(tools::rgb2hsl(maYellow)) == maYellow);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip magenta",
+ tools::hsl2rgb(tools::rgb2hsl(maMagenta)) == maMagenta);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip cyan",
+ tools::hsl2rgb(tools::rgb2hsl(maCyan)) == maCyan);
+
+ CPPUNIT_ASSERT_MESSAGE("grey10",
+ tools::rgb2hsl(maWhite*.1) == BColor(0,0,.1));
+ CPPUNIT_ASSERT_MESSAGE("grey90",
+ tools::rgb2hsl(maWhite*.9) == BColor(0,0,.9));
+ CPPUNIT_ASSERT_MESSAGE("red/2",
+ tools::rgb2hsl(maRed*.5) == BColor(0,1,0.25));
+ CPPUNIT_ASSERT_MESSAGE("green/2",
+ tools::rgb2hsl(maGreen*.5) == BColor(120,1,0.25));
+ CPPUNIT_ASSERT_MESSAGE("blue/2",
+ tools::rgb2hsl(maBlue*.5) == BColor(240,1,0.25));
+ CPPUNIT_ASSERT_MESSAGE("yellow/2",
+ tools::rgb2hsl(maYellow*.5) == BColor(60,1,0.25));
+ CPPUNIT_ASSERT_MESSAGE("magenta/2",
+ tools::rgb2hsl(maMagenta*.5) == BColor(300,1,0.25));
+ CPPUNIT_ASSERT_MESSAGE("cyan/2",
+ tools::rgb2hsl(maCyan*.5) == BColor(180,1,0.25));
+
+ CPPUNIT_ASSERT_MESSAGE("pastel",
+ tools::rgb2hsl(BColor(.75,.25,.25)) == BColor(0,.5,.5));
+ }
+
+ // insert your test code here.
+ void hsvTest()
+ {
+ CPPUNIT_ASSERT_MESSAGE("white",
+ tools::rgb2hsv(maWhite) == BColor(0,0,1));
+ CPPUNIT_ASSERT_MESSAGE("black",
+ tools::rgb2hsv(maBlack) == BColor(0,0,0));
+ CPPUNIT_ASSERT_MESSAGE("red",
+ tools::rgb2hsv(maRed) == BColor(0,1,1));
+ CPPUNIT_ASSERT_MESSAGE("green",
+ tools::rgb2hsv(maGreen) == BColor(120,1,1));
+ CPPUNIT_ASSERT_MESSAGE("blue",
+ tools::rgb2hsv(maBlue) == BColor(240,1,1));
+ CPPUNIT_ASSERT_MESSAGE("yellow",
+ tools::rgb2hsv(maYellow) == BColor(60,1,1));
+ CPPUNIT_ASSERT_MESSAGE("magenta",
+ tools::rgb2hsv(maMagenta) == BColor(300,1,1));
+ CPPUNIT_ASSERT_MESSAGE("cyan",
+ tools::rgb2hsv(maCyan) == BColor(180,1,1));
+
+ CPPUNIT_ASSERT_MESSAGE("roundtrip white",
+ tools::hsv2rgb(tools::rgb2hsv(maWhite)) == maWhite);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip black",
+ tools::hsv2rgb(tools::rgb2hsv(maBlack)) == maBlack);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip red",
+ tools::hsv2rgb(tools::rgb2hsv(maRed)) == maRed);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip green",
+ tools::hsv2rgb(tools::rgb2hsv(maGreen)) == maGreen);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip blue",
+ tools::hsv2rgb(tools::rgb2hsv(maBlue)) == maBlue);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip yellow",
+ tools::hsv2rgb(tools::rgb2hsv(maYellow)) == maYellow);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip magenta",
+ tools::hsv2rgb(tools::rgb2hsv(maMagenta)) == maMagenta);
+ CPPUNIT_ASSERT_MESSAGE("roundtrip cyan",
+ tools::hsv2rgb(tools::rgb2hsv(maCyan)) == maCyan);
+
+ CPPUNIT_ASSERT_MESSAGE("grey10",
+ tools::rgb2hsv(maWhite*.1) == BColor(0,0,.1));
+ CPPUNIT_ASSERT_MESSAGE("grey90",
+ tools::rgb2hsv(maWhite*.9) == BColor(0,0,.9));
+ CPPUNIT_ASSERT_MESSAGE("red/2",
+ tools::rgb2hsv(maRed*.5) == BColor(0,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("green/2",
+ tools::rgb2hsv(maGreen*.5) == BColor(120,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("blue/2",
+ tools::rgb2hsv(maBlue*.5) == BColor(240,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("yellow/2",
+ tools::rgb2hsv(maYellow*.5) == BColor(60,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("magenta/2",
+ tools::rgb2hsv(maMagenta*.5) == BColor(300,1,0.5));
+ CPPUNIT_ASSERT_MESSAGE("cyan/2",
+ tools::rgb2hsv(maCyan*.5) == BColor(180,1,0.5));
+
+ CPPUNIT_ASSERT_MESSAGE("pastel",
+ tools::rgb2hsv(BColor(.5,.25,.25)) == BColor(0,.5,.5));
+ }
+
+ void ciexyzTest()
+ {
+ tools::rgb2ciexyz(maWhite);
+ tools::rgb2ciexyz(maBlack);
+ tools::rgb2ciexyz(maRed);
+ tools::rgb2ciexyz(maGreen);
+ tools::rgb2ciexyz(maBlue);
+ tools::rgb2ciexyz(maYellow);
+ tools::rgb2ciexyz(maMagenta);
+ tools::rgb2ciexyz(maCyan);
+ }
+
+ // Change the following lines only, if you add, remove or rename
+ // member functions of the current class,
+ // because these macros are need by auto register mechanism.
+
+ CPPUNIT_TEST_SUITE(bcolor);
+ CPPUNIT_TEST(hslTest);
+ CPPUNIT_TEST(hsvTest);
+ CPPUNIT_TEST(ciexyzTest);
+ CPPUNIT_TEST_SUITE_END();
+}; // class b2dvector
+
// -----------------------------------------------------------------------------
//CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dmultirange, "basegfx2d");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dsvgdimpex, "basegfx2d");
@@ -1458,6 +1632,7 @@ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dquadraticbezier, "basegfx2d"
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2drange, "basegfx2d");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dtuple, "basegfx2d");
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dvector, "basegfx2d");
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::bcolor, "basegfx2d");
} // namespace basegfx2d
diff --git a/basegfx/test/makefile.mk b/basegfx/test/makefile.mk
index 8e47a13defdd..1bd4d59b98d5 100644
--- a/basegfx/test/makefile.mk
+++ b/basegfx/test/makefile.mk
@@ -58,6 +58,7 @@ SHL1LIBS=\
$(SLB)$/range.lib \
$(SLB)$/tuple.lib \
$(SLB)$/tools.lib \
+ $(SLB)$/color.lib \
$(SLB)$/vector.lib
SHL1TARGET= basegfx_tests