diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2023-06-21 14:42:03 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2023-06-21 22:03:47 +0200 |
commit | f3db857905437d4ce3b41fd75bd591e2f7801c5f (patch) | |
tree | 5662647eff8428f91f2fa51c306320ce06957929 /basegfx | |
parent | 2ff1d94ba28b6c3c7e7d1599c5de0333426d5e2c (diff) |
tdf#155735: Add tests in basegfx
Add tests for BColorModifier_luminance_to_alpha and
BColorModifier_saturate
Use basegfx::fTools::equal in B3DTuple::operator==,
otherwise some asserts fail with
- Expected: [0.3575, 0.8575, 0.3575]
- Actual : [0.3575, 0.8575, 0.3575]
Although they are equal
Change-Id: Iad6d9ff78a390f5ee2a3e33e479e34d98e751b2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153394
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'basegfx')
-rwxr-xr-x | basegfx/test/BColorModifierTest.cxx | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/basegfx/test/BColorModifierTest.cxx b/basegfx/test/BColorModifierTest.cxx index 2371542663dc..053540018206 100755 --- a/basegfx/test/BColorModifierTest.cxx +++ b/basegfx/test/BColorModifierTest.cxx @@ -173,11 +173,77 @@ public: CPPUNIT_ASSERT_EQUAL(maYellow, aStack1.getModifiedColor(maBlue)); } + void testSaturate() + { + const basegfx::BColorModifierSharedPtr aBColorModifier + = std::make_shared<basegfx::BColorModifier_saturate>(0.5); + + CPPUNIT_ASSERT_EQUAL(maWhite, aBColorModifier->getModifiedColor(maWhite)); + CPPUNIT_ASSERT_EQUAL(maGray, aBColorModifier->getModifiedColor(maGray)); + CPPUNIT_ASSERT_EQUAL(maBlack, aBColorModifier->getModifiedColor(maBlack)); + + BColor aExpectedRed(0.6065, 0.1065, 0.1065); + CPPUNIT_ASSERT_EQUAL(aExpectedRed, aBColorModifier->getModifiedColor(maRed)); + BColor aExpectedGreen(0.3575, 0.8575, 0.3575); + CPPUNIT_ASSERT_EQUAL(aExpectedGreen, aBColorModifier->getModifiedColor(maGreen)); + BColor aExpectedBlue(0.036, 0.036, 0.536); + CPPUNIT_ASSERT_EQUAL(aExpectedBlue, aBColorModifier->getModifiedColor(maBlue)); + BColor aExpectedYellow(0.964, 0.964, 0.464); + CPPUNIT_ASSERT_EQUAL(aExpectedYellow, aBColorModifier->getModifiedColor(maYellow)); + BColor aExpectedMagenta(0.6425, 0.1425, 0.6425); + CPPUNIT_ASSERT_EQUAL(aExpectedMagenta, aBColorModifier->getModifiedColor(maMagenta)); + BColor aExpectedCyan(0.3935, 0.8935, 0.8935); + CPPUNIT_ASSERT_EQUAL(aExpectedCyan, aBColorModifier->getModifiedColor(maCyan)); + + CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier)); + const basegfx::BColorModifierSharedPtr aBColorModifierInvert + = std::make_shared<basegfx::BColorModifier_invert>(); + CPPUNIT_ASSERT(*aBColorModifier != *aBColorModifierInvert); + + const basegfx::BColorModifierSharedPtr aBColorModifier2 + = std::make_shared<basegfx::BColorModifier_saturate>(0.5); + CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier2)); + } + + void testLuminanceToAlpha() + { + const basegfx::BColorModifierSharedPtr aBColorModifier + = std::make_shared<basegfx::BColorModifier_luminance_to_alpha>(); + + CPPUNIT_ASSERT_EQUAL(maBlack, aBColorModifier->getModifiedColor(maWhite)); + CPPUNIT_ASSERT_EQUAL(maGray, aBColorModifier->getModifiedColor(maGray)); + CPPUNIT_ASSERT_EQUAL(maWhite, aBColorModifier->getModifiedColor(maBlack)); + + BColor aExpectedRed(0.7875, 0.7875, 0.7875); + CPPUNIT_ASSERT_EQUAL(aExpectedRed, aBColorModifier->getModifiedColor(maRed)); + BColor aExpectedGreen(0.2846, 0.2846, 0.2846); + CPPUNIT_ASSERT_EQUAL(aExpectedGreen, aBColorModifier->getModifiedColor(maGreen)); + BColor aExpectedBlue(0.9279, 0.9279, 0.9279); + CPPUNIT_ASSERT_EQUAL(aExpectedBlue, aBColorModifier->getModifiedColor(maBlue)); + BColor aExpectedYellow(0.0721, 0.0721, 0.0721); + CPPUNIT_ASSERT_EQUAL(aExpectedYellow, aBColorModifier->getModifiedColor(maYellow)); + BColor aExpectedMagenta(0.7154, 0.7154, 0.7154); + CPPUNIT_ASSERT_EQUAL(aExpectedMagenta, aBColorModifier->getModifiedColor(maMagenta)); + BColor aExpectedCyan(0.2125, 0.2125, 0.2125); + CPPUNIT_ASSERT_EQUAL(aExpectedCyan, aBColorModifier->getModifiedColor(maCyan)); + + CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier)); + const basegfx::BColorModifierSharedPtr aBColorModifierInvert + = std::make_shared<basegfx::BColorModifier_invert>(); + CPPUNIT_ASSERT(*aBColorModifier != *aBColorModifierInvert); + + const basegfx::BColorModifierSharedPtr aBColorModifier2 + = std::make_shared<basegfx::BColorModifier_luminance_to_alpha>(); + CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier2)); + } + CPPUNIT_TEST_SUITE(bcolormodifier); CPPUNIT_TEST(testGray); CPPUNIT_TEST(testInvert); CPPUNIT_TEST(testReplace); CPPUNIT_TEST(testStack); + CPPUNIT_TEST(testSaturate); + CPPUNIT_TEST(testLuminanceToAlpha); CPPUNIT_TEST_SUITE_END(); }; |