summaryrefslogtreecommitdiffstats
path: root/tests/auto/chartdataset/tst_chartdataset.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/chartdataset/tst_chartdataset.cpp')
-rw-r--r--tests/auto/chartdataset/tst_chartdataset.cpp544
1 files changed, 191 insertions, 353 deletions
diff --git a/tests/auto/chartdataset/tst_chartdataset.cpp b/tests/auto/chartdataset/tst_chartdataset.cpp
index f7d3234c..d418128b 100644
--- a/tests/auto/chartdataset/tst_chartdataset.cpp
+++ b/tests/auto/chartdataset/tst_chartdataset.cpp
@@ -43,6 +43,8 @@ QTEST_MAIN(tst_ChartDataSet)
#include <qabstractaxis.h>
#include <qvalueaxis.h>
#include <qbarcategoryaxis.h>
+#include <qcategoryaxis.h>
+#include <qdatetimeaxis.h>
#include <qlineseries.h>
#include <qareaseries.h>
#include <qscatterseries.h>
@@ -62,6 +64,8 @@ Q_DECLARE_METATYPE(QAbstractAxis *)
Q_DECLARE_METATYPE(QAbstractSeries *)
Q_DECLARE_METATYPE(QList<QAbstractSeries *>)
Q_DECLARE_METATYPE(QList<QAbstractAxis *>)
+Q_DECLARE_METATYPE(Qt::Alignment)
+Q_DECLARE_METATYPE(QList<Qt::Alignment>)
Q_DECLARE_METATYPE(QLineSeries *)
class tst_ChartDataSet: public QObject {
@@ -79,26 +83,20 @@ private Q_SLOTS:
void chartdataset();
void addSeries_data();
void addSeries();
- void setAxisX_data();
- void setAxisX();
- void setAxisY_data();
- void setAxisY();
void removeSeries_data();
void removeSeries();
void removeAllSeries_data();
void removeAllSeries();
- void seriesCount_data();
- void seriesCount();
- void seriesIndex_data();
- void seriesIndex();
- void domain_data();
- void domain();
- void zoomInDomain_data();
- void zoomInDomain();
- void zoomOutDomain_data();
- void zoomOutDomain();
- void scrollDomain_data();
- void scrollDomain();
+ void addAxis_data();
+ void addAxis();
+ void removeAxis_data();
+ void removeAxis();
+ void removeAllAxes_data();
+ void removeAllAxes();
+ void attachAxis_data();
+ void attachAxis();
+ void detachAxis_data();
+ void detachAxis();
private:
ChartDataSet* m_dataset;
@@ -117,7 +115,7 @@ void tst_ChartDataSet::cleanupTestCase()
void tst_ChartDataSet::init()
{
- m_dataset = new ChartDataSet();
+ m_dataset = new ChartDataSet(0);
}
@@ -136,14 +134,9 @@ void tst_ChartDataSet::chartdataset_data()
void tst_ChartDataSet::chartdataset()
{
- QVERIFY(m_dataset->axisX(0) == 0);
- QVERIFY(m_dataset->axisY(0) == 0);
- QLineSeries* series = new QLineSeries(this);
- QCOMPARE(m_dataset->seriesIndex(series),-1);
- QVERIFY(m_dataset->domain(series) == 0);
- QVERIFY(m_dataset->axisX(series) == 0);
- QVERIFY(m_dataset->axisY(series) == 0);
- m_dataset->createDefaultAxes();
+ QVERIFY(m_dataset->axes().isEmpty());
+ QVERIFY(m_dataset->series().isEmpty());
+ m_dataset->createDefaultAxes();
}
@@ -172,143 +165,21 @@ void tst_ChartDataSet::addSeries_data()
void tst_ChartDataSet::addSeries()
{
-
QFETCH(QAbstractSeries*, series);
+ QVERIFY(m_dataset->series().isEmpty());
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
m_dataset->addSeries(series);
- m_dataset->createDefaultAxes();
- if(series->type()==QAbstractSeries::SeriesTypePie){
- TRY_COMPARE(spy0.count(), 0);
- }else{
- TRY_COMPARE(spy0.count(), 2);
- }
- TRY_COMPARE(spy1.count(), 0);
- TRY_COMPARE(spy2.count(), 1);
- TRY_COMPARE(spy3.count(), 0);
-}
-
-
-void tst_ChartDataSet::setAxisX_data()
-{
- QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
- QTest::addColumn<QList<QAbstractAxis*> >("axisList");
- QTest::addColumn<int>("axisCount");
-
- QAbstractSeries* line = new QLineSeries(this);
- QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
- QAbstractSeries* scatter = new QScatterSeries(this);
- QAbstractSeries* spline = new QSplineSeries(this);
- /*QAbstractSeries* pie = */new QPieSeries(this);
- /*QAbstractSeries* bar = */new QBarSeries(this);
- /*QAbstractSeries* percent = */new QPercentBarSeries(this);
- /*QAbstractSeries* stacked = */new QStackedBarSeries(this);
-
- QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2")
- << (QList<QAbstractSeries*>() << line << spline << scatter)
- << (QList<QAbstractAxis*>() << new QValueAxis(this) << new QValueAxis(this) << new QValueAxis(this)) << 3;
-
- QTest::newRow("area: axis 0") << (QList<QAbstractSeries*>() << area)
- << (QList<QAbstractAxis*>() << new QValueAxis(this)) << 1;
-
- QList<QAbstractAxis*> axes0;
- axes0 << new QValueAxis(this) << new QValueAxis(this);
- axes0 << axes0.last();
- QTest::newRow("line,spline,scatter: axis 0 axis1 axis 1")
- << (QList<QAbstractSeries*>() << line << spline << scatter)
- << axes0 << 2;
- //TODO: add more test cases
-}
-
-void tst_ChartDataSet::setAxisX()
-{
- QFETCH(QList<QAbstractSeries*>, seriesList);
- QFETCH(QList<QAbstractAxis*>, axisList);
- QFETCH(int, axisCount);
-
- Q_ASSERT(seriesList.count() == axisList.count());
-
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
- QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
- QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
-
- foreach (QAbstractSeries* series, seriesList){
- m_dataset->addSeries(series);
- }
+ QCOMPARE(m_dataset->series().count(),1);
TRY_COMPARE(spy0.count(), 0);
TRY_COMPARE(spy1.count(), 0);
- TRY_COMPARE(spy2.count(), seriesList.count());
- TRY_COMPARE(spy3.count(), 0);
-
- QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
- QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
- QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
-
- for(int i=0 ; i < seriesList.count(); i++){
- m_dataset->setAxis(seriesList.at(i),axisList.at(i),Qt::Horizontal);
- }
-
- TRY_COMPARE(spy4.count(), axisCount);
- TRY_COMPARE(spy5.count(), 0);
- TRY_COMPARE(spy6.count(), 0);
- TRY_COMPARE(spy7.count(), 0);
-
- for(int i=0 ; i < seriesList.count(); i++){
- QVERIFY(m_dataset->axisX(seriesList.at(i)) == axisList.at(i));
- }
-}
-
-void tst_ChartDataSet::setAxisY_data()
-{
- setAxisX_data();
-}
-
-void tst_ChartDataSet::setAxisY()
-{
- QFETCH(QList<QAbstractSeries*>, seriesList);
- QFETCH(QList<QAbstractAxis*>, axisList);
- QFETCH(int, axisCount);
-
- Q_ASSERT(seriesList.count() == axisList.count());
-
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
- QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
- QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
-
- foreach (QAbstractSeries* series, seriesList){
- m_dataset->addSeries(series);
- }
-
- TRY_COMPARE(spy0.count(), 0);
- TRY_COMPARE(spy1.count(), 0);
- TRY_COMPARE(spy2.count(), seriesList.count());
+ TRY_COMPARE(spy2.count(), 1);
TRY_COMPARE(spy3.count(), 0);
-
- QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
- QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
- QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
-
- for(int i=0 ; i < seriesList.count(); i++){
- m_dataset->setAxis(seriesList.at(i),axisList.at(i),Qt::Vertical);
- }
-
- TRY_COMPARE(spy4.count(), axisCount);
- TRY_COMPARE(spy5.count(), 0);
- TRY_COMPARE(spy6.count(), 0);
- TRY_COMPARE(spy7.count(), 0);
-
- for(int i=0 ; i < seriesList.count(); i++){
- QVERIFY(m_dataset->axisY(seriesList.at(i)) == axisList.at(i));
- }
}
void tst_ChartDataSet::removeSeries_data()
@@ -319,24 +190,19 @@ void tst_ChartDataSet::removeSeries_data()
void tst_ChartDataSet::removeSeries()
{
QFETCH(QAbstractSeries*, series);
-
+ QVERIFY(m_dataset->series().isEmpty());
m_dataset->addSeries(series);
- m_dataset->createDefaultAxes();
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
m_dataset->removeSeries(series);
+ QCOMPARE(m_dataset->series().count(),0);
TRY_COMPARE(spy0.count(), 0);
- if (series->type() == QAbstractSeries::SeriesTypePie) {
- TRY_COMPARE(spy1.count(), 0);
- }
- else {
- TRY_COMPARE(spy1.count(), 2);
- }
+ TRY_COMPARE(spy1.count(), 0);
TRY_COMPARE(spy2.count(), 0);
TRY_COMPARE(spy3.count(), 1);
}
@@ -345,298 +211,270 @@ void tst_ChartDataSet::removeAllSeries_data()
{
QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
QTest::addColumn<QList<QAbstractAxis*> >("axisList");
- QTest::addColumn<int>("axisCount");
-
- QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2")
- << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QSplineSeries(this)
- << new QScatterSeries(this))
- << (QList<QAbstractAxis*>() << new QValueAxis(this) << new QValueAxis(this)
- << new QValueAxis(this)) << 3;
- //TODO:
+
+ QList<QAbstractSeries*> series;
+ QList<QAbstractAxis*> axis;
+
+ series << new QLineSeries(this) << new QSplineSeries(this) << new QScatterSeries(this);
+ axis << new QValueAxis(this) << new QValueAxis(this) << new QValueAxis(this);
+
+ QTest::newRow("3 series , 3 axis") << series << axis;
}
void tst_ChartDataSet::removeAllSeries()
{
QFETCH(QList<QAbstractSeries*>, seriesList);
QFETCH(QList<QAbstractAxis*>, axisList);
- QFETCH(int, axisCount);
+
+ QCOMPARE(m_dataset->series().count(),0);
+ QCOMPARE(m_dataset->axes().count(),0);
foreach (QAbstractSeries* series, seriesList) {
m_dataset->addSeries(series);
}
+ foreach (QAbstractAxis* axis, axisList) {
+ m_dataset->addAxis(axis,Qt::AlignBottom);
+ }
+
for (int i = 0; i < seriesList.count(); i++) {
- m_dataset->setAxis(seriesList.at(i), axisList.at(i),Qt::Horizontal);
+ m_dataset->attachAxis(seriesList.at(i),axisList.at(i));
}
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
m_dataset->removeAllSeries();
TRY_COMPARE(spy0.count(), 0);
- TRY_COMPARE(spy1.count(), axisCount);
+ TRY_COMPARE(spy1.count(), 0);
TRY_COMPARE(spy2.count(), 0);
TRY_COMPARE(spy3.count(), seriesList.count());
-}
+ QCOMPARE(m_dataset->series().count(),0);
+ QCOMPARE(m_dataset->axes().count(),axisList.count());
+}
-void tst_ChartDataSet::seriesCount_data()
+void tst_ChartDataSet::addAxis_data()
{
- QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
- QTest::addColumn<int>("seriesCount");
-
- QTest::newRow("line,line, line, spline 3") << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) ) << 3;
- QTest::newRow("scatter,scatter, line, line 2") << (QList<QAbstractSeries*>() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) ) << 2;
+ QTest::addColumn<QAbstractAxis*>("axis");
+ QAbstractAxis* value = new QValueAxis(this);
+ QAbstractAxis* category = new QCategoryAxis(this);
+ QAbstractAxis* barcategory = new QBarCategoryAxis(this);
+ QAbstractAxis* datetime = new QDateTimeAxis(this);
+
+ QTest::newRow("value") << value;
+ QTest::newRow("category") << category;
+ QTest::newRow("barcategory") << barcategory;
+ QTest::newRow("datetime") << datetime;
}
-void tst_ChartDataSet::seriesCount()
+void tst_ChartDataSet::addAxis()
{
- QFETCH(QList<QAbstractSeries*>, seriesList);
- QFETCH(int, seriesCount);
+ QFETCH(QAbstractAxis*, axis);
+ QVERIFY(m_dataset->axes().isEmpty());
- foreach (QAbstractSeries* series, seriesList){
- m_dataset->addSeries(series);
- }
-
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
- QCOMPARE(m_dataset->seriesCount(seriesList.at(0)->type()),seriesCount);
- TRY_COMPARE(spy0.count(), 0);
+ m_dataset->addAxis(axis,Qt::AlignBottom);
+
+ QCOMPARE(m_dataset->axes().count(),1);
+ TRY_COMPARE(spy0.count(), 1);
TRY_COMPARE(spy1.count(), 0);
TRY_COMPARE(spy2.count(), 0);
TRY_COMPARE(spy3.count(), 0);
}
-void tst_ChartDataSet::seriesIndex_data()
+void tst_ChartDataSet::removeAxis_data()
{
- QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
-
- QTest::newRow("line,line, line, spline") << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) );
- QTest::newRow("scatter,scatter, line, line") << (QList<QAbstractSeries*>() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) );
+ addAxis_data();
}
-void tst_ChartDataSet::seriesIndex()
+void tst_ChartDataSet::removeAxis()
{
+ QFETCH(QAbstractAxis*, axis);
+ QVERIFY(m_dataset->series().isEmpty());
+ m_dataset->addAxis(axis,Qt::AlignBottom);
- QFETCH(QList<QAbstractSeries*>, seriesList);
-
- foreach (QAbstractSeries* series, seriesList) {
- m_dataset->addSeries(series);
- }
-
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
- for (int i = 0; i < seriesList.count(); i++) {
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
- }
+ m_dataset->removeAxis(axis);
+ QCOMPARE(m_dataset->series().count(),0);
TRY_COMPARE(spy0.count(), 0);
- TRY_COMPARE(spy1.count(), 0);
+ TRY_COMPARE(spy1.count(), 1);
TRY_COMPARE(spy2.count(), 0);
TRY_COMPARE(spy3.count(), 0);
+}
- foreach (QAbstractSeries* series, seriesList) {
- m_dataset->removeSeries(series);
- }
-
- for (int i = 0; i < seriesList.count(); i++) {
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
- }
-
- foreach (QAbstractSeries* series, seriesList) {
- m_dataset->addSeries(series);
- }
-
- for (int i = 0; i < seriesList.count(); i++) {
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
- }
+void tst_ChartDataSet::removeAllAxes_data()
+{
+ QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
+ QTest::addColumn<QList<QAbstractAxis*> >("axisList");
- m_dataset->removeSeries(seriesList.at(1));
+ QList<QAbstractSeries*> series;
+ QList<QAbstractAxis*> axis;
- for (int i = 0; i < seriesList.count(); i++) {
- if (i != 1)
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
- else
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
- }
+ series << new QLineSeries(this) << new QSplineSeries(this) << new QScatterSeries(this);
+ axis << new QValueAxis(this) << new QValueAxis(this) << new QValueAxis(this);
- m_dataset->addSeries(seriesList.at(1));
+ QTest::newRow("3 series , 3 axis") << series << axis;
+}
- for (int i = 0; i < seriesList.count(); i++) {
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
- }
+void tst_ChartDataSet::removeAllAxes()
+{
+ QFETCH(QList<QAbstractSeries*>, seriesList);
+ QFETCH(QList<QAbstractAxis*>, axisList);
- m_dataset->removeSeries(seriesList.at(2));
+ QCOMPARE(m_dataset->series().count(),0);
+ QCOMPARE(m_dataset->axes().count(),0);
- for (int i = 0; i < seriesList.count(); i++) {
- if (i != 2)
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
- else
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
+ foreach (QAbstractSeries* series, seriesList) {
+ m_dataset->addSeries(series);
}
- m_dataset->removeSeries(seriesList.at(0));
-
- for (int i = 0; i < seriesList.count(); i++) {
- if (i != 2 && i != 0)
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
- else
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
+ foreach (QAbstractAxis* axis, axisList) {
+ m_dataset->addAxis(axis,Qt::AlignBottom);
}
- m_dataset->addSeries(seriesList.at(2));
- m_dataset->addSeries(seriesList.at(0));
-
for (int i = 0; i < seriesList.count(); i++) {
- if (i == 2)
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 0);
- else if (i == 0)
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 2);
- else
- QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
+ m_dataset->attachAxis(seriesList.at(i),axisList.at(i));
}
-}
-
-void tst_ChartDataSet::domain_data()
-{
- addSeries_data();
-}
-
-void tst_ChartDataSet::domain()
-{
- QFETCH(QAbstractSeries*, series);
-
- QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
- QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
- m_dataset->addSeries(series);
- QVERIFY(m_dataset->domain(series));
-
+ m_dataset->removeAllAxes();
TRY_COMPARE(spy0.count(), 0);
- TRY_COMPARE(spy1.count(), 0);
- TRY_COMPARE(spy2.count(), 1);
-
- QList<QVariant> arguments = spy2.takeFirst();
- Domain *domain = (Domain *) arguments.at(1).value<Domain *>();
- QVERIFY(m_dataset->domain(series) == domain);
-
+ TRY_COMPARE(spy1.count(), axisList.count());
+ TRY_COMPARE(spy2.count(), 0);
TRY_COMPARE(spy3.count(), 0);
+ QCOMPARE(m_dataset->series().count(),seriesList.count());
+ QCOMPARE(m_dataset->axes().count(),0);
}
-void tst_ChartDataSet::zoomInDomain_data()
-{
- QTest::addColumn<bool >("sameAxis");
- QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
- QTest::newRow("sameAxis: line,line, line, spline") << true << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) );
- QTest::newRow("separeateAxis: line,line, line, spline") << false << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) );
-}
-
-void tst_ChartDataSet::zoomInDomain()
+void tst_ChartDataSet::attachAxis_data()
{
- QFETCH(bool, sameAxis);
- QFETCH(QList<QAbstractSeries*>, seriesList);
-
- foreach (QAbstractSeries* series, seriesList) {
- m_dataset->addSeries(series);
- }
-
- if(sameAxis) m_dataset->createDefaultAxes();
-
- QList<QSignalSpy*> spyList;
-
- foreach (QAbstractSeries* series, seriesList) {
- spyList << new QSignalSpy(m_dataset->domain(series),SIGNAL(updated()));
- }
+ QTest::addColumn<QList<QAbstractSeries*> >("series");
+ QTest::addColumn<QList<QAbstractAxis*> >("axis");
+ QTest::addColumn<QList<Qt::Alignment> >("alignment");
+ QTest::addColumn<QAbstractSeries*>("attachSeries");
+ QTest::addColumn<QAbstractAxis*>("attachAxis");
+ QTest::addColumn<bool>("success");
- m_dataset->zoomInDomain(QRect(0, 0, 100, 100), QSize(1000, 1000));
+ QList<QAbstractSeries*> series;
+ QList<QAbstractAxis*> axes;
+ QList<Qt::Alignment> alignment;
- foreach (QSignalSpy* spy, spyList) {
- TRY_COMPARE(spy->count(), 1);
- }
+ QAbstractSeries* line = new QLineSeries(this);
+ QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
+ QAbstractSeries* scatter = new QScatterSeries(this);
+ QAbstractSeries* spline = new QSplineSeries(this);
+ QAbstractSeries* pie = new QPieSeries(this);
+ QAbstractSeries* bar = new QBarSeries(this);
+ QAbstractSeries* percent = new QPercentBarSeries(this);
+ QAbstractSeries* stacked = new QStackedBarSeries(this);
- qDeleteAll(spyList);
-}
+ QAbstractAxis* value1 = new QValueAxis(this);
+ QAbstractAxis* value2 = new QValueAxis(this);
+ QAbstractAxis* category = new QCategoryAxis(this);
+ QAbstractAxis* barcategory = new QBarCategoryAxis(this);
+ QAbstractAxis* datetime = new QDateTimeAxis(this);
+ series << line << 0;
+ axes << value1 << value2;
+ alignment << Qt::AlignBottom << Qt::AlignLeft;
+ QTest::newRow("line + two axes") << series << axes << alignment << line << value2 << true;
-void tst_ChartDataSet::zoomOutDomain_data()
-{
- zoomInDomain_data();
}
-void tst_ChartDataSet::zoomOutDomain()
+void tst_ChartDataSet::attachAxis()
{
- QFETCH(bool, sameAxis);
- QFETCH(QList<QAbstractSeries*>, seriesList);
-
- foreach (QAbstractSeries* series, seriesList) {
- m_dataset->addSeries(series);
- }
+ QFETCH(QList<QAbstractSeries*>, series);
+ QFETCH(QList<QAbstractAxis*>, axis);
+ QFETCH(QList<Qt::Alignment>, alignment);
+ QFETCH(QAbstractSeries*, attachSeries);
+ QFETCH(QAbstractAxis*, attachAxis);
+ QFETCH(bool, success);
- if (sameAxis)
- m_dataset->createDefaultAxes();
+ Q_ASSERT(series.count() == axis.count());
+ Q_ASSERT(series.count() == alignment.count());
- QList<QSignalSpy*> spyList;
+ QVERIFY(m_dataset->series().isEmpty());
+ QVERIFY(m_dataset->axes().isEmpty());
- foreach (QAbstractSeries* series, seriesList) {
- spyList << new QSignalSpy(m_dataset->domain(series), SIGNAL(updated()));
+ for(int i = 0 ; i < series.count() ; i++){
+ if(series[i]) m_dataset->addSeries(series[i]);
+ if(axis[i]) m_dataset->addAxis(axis[i],alignment[i]);
+ if(series[i] && axis[i]) m_dataset->attachAxis(series[i],axis[i]);
}
- m_dataset->zoomOutDomain(QRect(0, 0, 100, 100), QSize(1000, 1000));
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
+ QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
+ QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
- foreach (QSignalSpy* spy, spyList) {
- TRY_COMPARE(spy->count(), 1);
- }
+ QCOMPARE(m_dataset->attachAxis(attachSeries,attachAxis),success);
- qDeleteAll (spyList);
}
-void tst_ChartDataSet::scrollDomain_data()
+void tst_ChartDataSet::detachAxis_data()
{
- zoomInDomain_data();
-}
+ QTest::addColumn<QList<QAbstractSeries*> >("series");
+ QTest::addColumn<QList<QAbstractAxis*> >("axis");
+ QTest::addColumn<QAbstractSeries*>("detachSeries");
+ QTest::addColumn<QAbstractAxis*>("detachAxis");
+ QTest::addColumn<bool>("success");
-void tst_ChartDataSet::scrollDomain()
-{
- QFETCH(bool, sameAxis);
- QFETCH(QList<QAbstractSeries*>, seriesList);
+ QList<QAbstractSeries*> series;
+ QList<QAbstractAxis*> axes;
- foreach (QAbstractSeries* series, seriesList) {
- m_dataset->addSeries(series);
- }
+ QAbstractSeries* line = new QLineSeries(this);
+ QAbstractAxis* value = new QValueAxis(this);
- if (sameAxis)
- m_dataset->createDefaultAxes();
+ series << line;
+ axes << value;
+ QTest::newRow("line + axis") << series << axes << line << value << true;
+}
- QList<QSignalSpy*> spyList;
+void tst_ChartDataSet::detachAxis()
+{
+ QFETCH(QList<QAbstractSeries*>, series);
+ QFETCH(QList<QAbstractAxis*>, axis);
+ QFETCH(QAbstractSeries*, detachSeries);
+ QFETCH(QAbstractAxis*, detachAxis);
+ QFETCH(bool, success);
- foreach (QAbstractSeries* series, seriesList) {
- spyList
- << new QSignalSpy(m_dataset->domain(series),
- SIGNAL(updated()));
- }
+ Q_ASSERT(series.count() == axis.count());
- m_dataset->scrollDomain(10, 10, QSize(1000, 1000));
+ QVERIFY(m_dataset->series().isEmpty());
+ QVERIFY(m_dataset->axes().isEmpty());
- foreach (QSignalSpy* spy, spyList) {
- TRY_COMPARE(spy->count(), 1);
+ for(int i = 0; i < series.count(); i++) {
+ if(series[i]) m_dataset->addSeries(series[i]);
+ if(axis[i]) m_dataset->addAxis(axis[i],Qt::AlignBottom);
+ if(series[i] && axis[i]) m_dataset->attachAxis(series[i],axis[i]);
}
- qDeleteAll(spyList);
+ QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
+ QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
+ QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
+ QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
+
+ QCOMPARE(m_dataset->detachAxis(detachSeries,detachAxis),success);
}
QTEST_MAIN(tst_ChartDataSet)