diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2021-04-02 11:37:42 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2021-04-02 15:23:26 +0200 |
commit | 711ec7b6c71410b850cdf6d1411d054ca34ec5a0 (patch) | |
tree | 3d65f3db6a414c04f741ebf513146c82c7aa6880 /tools/qa/cppunit | |
parent | d7d487875246ba00d5be7e4fb0fd82b78fea5205 (diff) |
vcl: move Fraction reading/writing to GenericTypeSerializer
Change-Id: Iccacaa7fd9cffe1d99f76def854c2150bb4d94f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113499
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'tools/qa/cppunit')
-rw-r--r-- | tools/qa/cppunit/test_GenericTypeSerializer.cxx | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/qa/cppunit/test_GenericTypeSerializer.cxx b/tools/qa/cppunit/test_GenericTypeSerializer.cxx index 24d1497f92d2..d378dd7c304d 100644 --- a/tools/qa/cppunit/test_GenericTypeSerializer.cxx +++ b/tools/qa/cppunit/test_GenericTypeSerializer.cxx @@ -87,10 +87,53 @@ public: } } + void testRoundtripFraction() + { + { + Fraction aFraction(2, 5); + CPPUNIT_ASSERT_EQUAL(true, aFraction.IsValid()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(2), aFraction.GetNumerator()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(5), aFraction.GetDenominator()); + + SvMemoryStream aStream; + aStream.Seek(STREAM_SEEK_TO_BEGIN); + GenericTypeSerializer aSerializer(aStream); + aSerializer.writeFraction(aFraction); + + aStream.Seek(STREAM_SEEK_TO_BEGIN); + + Fraction aReadFraction(1, 2); + aSerializer.readFraction(aReadFraction); + CPPUNIT_ASSERT_EQUAL(true, aReadFraction.IsValid()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(2), aReadFraction.GetNumerator()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(5), aReadFraction.GetDenominator()); + } + { + Fraction aFraction(1, 0); + CPPUNIT_ASSERT_EQUAL(false, aFraction.IsValid()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), aFraction.GetNumerator()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), aFraction.GetDenominator()); + + SvMemoryStream aStream; + aStream.Seek(STREAM_SEEK_TO_BEGIN); + GenericTypeSerializer aSerializer(aStream); + aSerializer.writeFraction(aFraction); + + aStream.Seek(STREAM_SEEK_TO_BEGIN); + + Fraction aReadFraction(1, 2); + aSerializer.readFraction(aReadFraction); + CPPUNIT_ASSERT_EQUAL(false, aReadFraction.IsValid()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), aReadFraction.GetNumerator()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), aReadFraction.GetDenominator()); + } + } + CPPUNIT_TEST_SUITE(GenericTypeSerializerTest); CPPUNIT_TEST(testRoundtripPoint); CPPUNIT_TEST(testRoundtripSize); CPPUNIT_TEST(testRoundtripRectangle); + CPPUNIT_TEST(testRoundtripFraction); CPPUNIT_TEST_SUITE_END(); }; |