summaryrefslogtreecommitdiff
path: root/chart2/qa/extras/chart2import.cxx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-03-24 07:39:45 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-03-24 07:43:01 +0100
commitd1bc91ea645f490bd3da205c31fe45711d009f29 (patch)
tree53c4d347f3e1e00184267c68a2f0a068fcdc2521 /chart2/qa/extras/chart2import.cxx
parentc040fcc93393e941af1cf86a6fa97cd74aac70c2 (diff)
add import test for stepped lines
Change-Id: I5a11bc65ca82719c0e8de94628ae4958afe57aa4
Diffstat (limited to 'chart2/qa/extras/chart2import.cxx')
-rw-r--r--chart2/qa/extras/chart2import.cxx59
1 files changed, 56 insertions, 3 deletions
diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx
index e30e1a03390d..7933001f6b32 100644
--- a/chart2/qa/extras/chart2import.cxx
+++ b/chart2/qa/extras/chart2import.cxx
@@ -27,7 +27,9 @@
#include <com/sun/star/chart2/XChartTypeContainer.hpp>
#include <com/sun/star/chart2/XCoordinateSystemContainer.hpp>
#include <com/sun/star/chart2/XDataSeriesContainer.hpp>
+#include <com/sun/star/chart2/CurveStyle.hpp>
#include <com/sun/star/chart/ErrorBarStyle.hpp>
+#include <com/sun/star/chart/XChartDocument.hpp>
#include <comphelper/processfactory.hxx>
@@ -38,12 +40,14 @@ class Chart2ImportTest : public test::BootstrapFixture, public unotest::MacrosTe
{
public:
void Fdo60083();
+ void testSteppedLines();
virtual void setUp();
virtual void tearDown();
CPPUNIT_TEST_SUITE(Chart2ImportTest);
CPPUNIT_TEST(Fdo60083);
+ CPPUNIT_TEST(testSteppedLines);
CPPUNIT_TEST_SUITE_END();
private:
@@ -52,6 +56,8 @@ private:
Reference< chart2::XChartDocument > getChartDocFromSheet( sal_Int32 nSheet, uno::Reference< lang::XComponent > xComponent );
Reference< chart2::XDataSeries > getDataSeriesFromDoc( Reference< chart2::XChartDocument > xChartDoc,
sal_Int32 nDataSeries, sal_Int32 nChartType = 0, sal_Int32 nCooSys = 0 );
+ Reference< chart2::XChartType > getChartTypeFromDoc( Reference< chart2::XChartDocument > xChartDoc,
+ sal_Int32 nChartType, sal_Int32 nCooSys = 0 );
Reference< lang::XComponent > mxComponent;
};
@@ -100,6 +106,46 @@ void Chart2ImportTest::Fdo60083()
CPPUNIT_ASSERT(!xErrorBarXProps.is());
}
+
+// stepped line interpolation
+void Chart2ImportTest::testSteppedLines()
+{
+ const sal_Int32 MAXSHEET = 14;
+ chart2::CurveStyle curveStyle[] = {
+ chart2::CurveStyle_LINES,
+ chart2::CurveStyle_CUBIC_SPLINES,
+ chart2::CurveStyle_B_SPLINES,
+ chart2::CurveStyle_STEP_START,
+ chart2::CurveStyle_STEP_END,
+ chart2::CurveStyle_STEP_CENTER_X,
+ chart2::CurveStyle_STEP_CENTER_Y,
+ chart2::CurveStyle_LINES,
+ chart2::CurveStyle_CUBIC_SPLINES,
+ chart2::CurveStyle_B_SPLINES,
+ chart2::CurveStyle_STEP_START,
+ chart2::CurveStyle_STEP_END,
+ chart2::CurveStyle_STEP_CENTER_X,
+ chart2::CurveStyle_STEP_CENTER_Y
+ };
+
+ load("/chart2/qa/extras/data/ods/", "stepped_lines.ods");
+ for(sal_Int32 nSheet = 0; nSheet < MAXSHEET; ++nSheet)
+ {
+ uno::Reference< chart2::XChartDocument > xChart2Doc = getChartDocFromSheet( nSheet, mxComponent );
+ CPPUNIT_ASSERT(xChart2Doc.is());
+
+ Reference< chart2::XChartType > xChartType = getChartTypeFromDoc( xChart2Doc, 0 );
+ CPPUNIT_ASSERT(xChartType.is());
+
+ Reference< beans::XPropertySet > xPropSet( xChartType, UNO_QUERY );
+ CPPUNIT_ASSERT(xPropSet.is());
+
+ chart2::CurveStyle eCurveStyle;
+ xPropSet->getPropertyValue("CurveStyle") >>= eCurveStyle;
+ CPPUNIT_ASSERT_EQUAL(eCurveStyle, curveStyle[nSheet]);
+ }
+}
+
Reference< chart2::XChartDocument > Chart2ImportTest::getChartDocFromSheet( sal_Int32 nSheet, uno::Reference< lang::XComponent > xComponent )
{
// let us assume that we only have one chart per sheet
@@ -132,8 +178,8 @@ Reference< chart2::XChartDocument > Chart2ImportTest::getChartDocFromSheet( sal_
return xChartDoc;
}
-Reference< chart2::XDataSeries > Chart2ImportTest::getDataSeriesFromDoc( uno::Reference< chart2::XChartDocument > xChartDoc,
- sal_Int32 nDataSeries, sal_Int32 nChartType, sal_Int32 nCooSys )
+Reference< chart2::XChartType > Chart2ImportTest::getChartTypeFromDoc( Reference< chart2::XChartDocument > xChartDoc,
+ sal_Int32 nChartType, sal_Int32 nCooSys )
{
CPPUNIT_ASSERT( xChartDoc.is() );
@@ -152,7 +198,14 @@ Reference< chart2::XDataSeries > Chart2ImportTest::getDataSeriesFromDoc( uno::Re
Sequence< Reference< chart2::XChartType > > xChartTypeSequence( xChartTypeContainer->getChartTypes() );
CPPUNIT_ASSERT( xChartTypeSequence.getLength() > nChartType );
- Reference< chart2::XDataSeriesContainer > xDataSequenceContainer( xChartTypeSequence[nChartType], UNO_QUERY_THROW );
+ return xChartTypeSequence[nChartType];
+}
+
+Reference< chart2::XDataSeries > Chart2ImportTest::getDataSeriesFromDoc( uno::Reference< chart2::XChartDocument > xChartDoc,
+ sal_Int32 nDataSeries, sal_Int32 nChartType, sal_Int32 nCooSys )
+{
+ Reference< chart2::XChartType > xChartType = getChartTypeFromDoc( xChartDoc, nChartType, nCooSys );
+ Reference< chart2::XDataSeriesContainer > xDataSequenceContainer( xChartType, UNO_QUERY_THROW );
CPPUNIT_ASSERT ( xDataSequenceContainer.is() );
Sequence< Reference< chart2::XDataSeries > > xSeriesSequence( xDataSequenceContainer->getDataSeries() );