diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-05-01 20:18:58 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-05-01 20:29:19 +0200 |
commit | 6ed88e6d4d61394aed2acd45777f8f037da53d58 (patch) | |
tree | 2beea1b6b04b681c4e6f1d4dd0986faf21979abf /chart2 | |
parent | 14c2ab30201d97f733375b4e3e88e5919701be25 (diff) |
add test for ooxml error bar export
Change-Id: I87f99c8d47770181c3f29c70f1f91a1f3dd421b5
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/qa/extras/chart2export.cxx | 65 | ||||
-rw-r--r-- | chart2/qa/extras/data/ods/error_bar.ods | bin | 0 -> 13724 bytes |
2 files changed, 65 insertions, 0 deletions
diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx index d17416f7a27d..ca7105c80c72 100644 --- a/chart2/qa/extras/chart2export.cxx +++ b/chart2/qa/extras/chart2export.cxx @@ -9,13 +9,20 @@ #include "charttest.hxx" +#include <com/sun/star/chart/ErrorBarStyle.hpp> + +using uno::Reference; +using beans::XPropertySet; + class Chart2ExportTest : public ChartTest { public: void test(); + void testErrorBarXLSX(); CPPUNIT_TEST_SUITE(Chart2ExportTest); CPPUNIT_TEST(test); + CPPUNIT_TEST(testErrorBarXLSX); CPPUNIT_TEST_SUITE_END(); private: @@ -27,6 +34,64 @@ void Chart2ExportTest::test() reload("Calc Office Open XML"); } +namespace { + +void testErrorBar( Reference< XPropertySet > xErrorBar ) +{ + sal_Int32 nErrorBarStyle; + xErrorBar->getPropertyValue("ErrorBarStyle") >>= nErrorBarStyle; + CPPUNIT_ASSERT_EQUAL(nErrorBarStyle, chart::ErrorBarStyle::RELATIVE); + bool bShowPositive, bShowNegative; + xErrorBar->getPropertyValue("ShowPositiveError") >>= bShowPositive; + CPPUNIT_ASSERT(bShowPositive); + xErrorBar->getPropertyValue("ShowNegativeError") >>= bShowNegative; + CPPUNIT_ASSERT(bShowNegative); + double nVal; + xErrorBar->getPropertyValue("PositiveError") >>= nVal; + CPPUNIT_ASSERT_DOUBLES_EQUAL(nVal, 10.0, 1e-10); +} + +} + +// improve the test +void Chart2ExportTest::testErrorBarXLSX() +{ + load("/chart2/qa/extras/data/ods/", "error_bar.ods"); + { + // make sure the ODS import was successful + uno::Reference< chart2::XChartDocument > xChartDoc = getChartDocFromSheet( 0, mxComponent ); + CPPUNIT_ASSERT(xChartDoc.is()); + + Reference< chart2::XDataSeries > xDataSeries = getDataSeriesFromDoc( xChartDoc, 0 ); + CPPUNIT_ASSERT( xDataSeries.is() ); + + Reference< beans::XPropertySet > xPropSet( xDataSeries, UNO_QUERY_THROW ); + CPPUNIT_ASSERT( xPropSet.is() ); + + // test that y error bars are there + Reference< beans::XPropertySet > xErrorBarYProps; + xPropSet->getPropertyValue("ErrorBarY") >>= xErrorBarYProps; + testErrorBar(xErrorBarYProps); + } + + reload("Calc Office Open XML"); + { + uno::Reference< chart2::XChartDocument > xChartDoc = getChartDocFromSheet( 0, mxComponent ); + CPPUNIT_ASSERT(xChartDoc.is()); + + Reference< chart2::XDataSeries > xDataSeries = getDataSeriesFromDoc( xChartDoc, 0 ); + CPPUNIT_ASSERT( xDataSeries.is() ); + + Reference< beans::XPropertySet > xPropSet( xDataSeries, UNO_QUERY_THROW ); + CPPUNIT_ASSERT( xPropSet.is() ); + + // test that y error bars are there + Reference< beans::XPropertySet > xErrorBarYProps; + xPropSet->getPropertyValue("ErrorBarY") >>= xErrorBarYProps; + testErrorBar(xErrorBarYProps); + } +} + CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/chart2/qa/extras/data/ods/error_bar.ods b/chart2/qa/extras/data/ods/error_bar.ods Binary files differnew file mode 100644 index 000000000000..9c3adbbca86b --- /dev/null +++ b/chart2/qa/extras/data/ods/error_bar.ods |