summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-05-01 20:18:58 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-05-01 20:29:19 +0200
commit6ed88e6d4d61394aed2acd45777f8f037da53d58 (patch)
tree2beea1b6b04b681c4e6f1d4dd0986faf21979abf /chart2
parent14c2ab30201d97f733375b4e3e88e5919701be25 (diff)
add test for ooxml error bar export
Change-Id: I87f99c8d47770181c3f29c70f1f91a1f3dd421b5
Diffstat (limited to 'chart2')
-rw-r--r--chart2/qa/extras/chart2export.cxx65
-rw-r--r--chart2/qa/extras/data/ods/error_bar.odsbin0 -> 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
new file mode 100644
index 000000000000..9c3adbbca86b
--- /dev/null
+++ b/chart2/qa/extras/data/ods/error_bar.ods
Binary files differ