summaryrefslogtreecommitdiff
path: root/tools/qa/cppunit
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2021-04-02 11:37:42 +0900
committerTomaž Vajngerl <quikee@gmail.com>2021-04-02 15:23:26 +0200
commit711ec7b6c71410b850cdf6d1411d054ca34ec5a0 (patch)
tree3d65f3db6a414c04f741ebf513146c82c7aa6880 /tools/qa/cppunit
parentd7d487875246ba00d5be7e4fb0fd82b78fea5205 (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.cxx43
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();
};