##// END OF EJS Templates
Fix compilation with namespaced Qt....
Fix compilation with namespaced Qt. Change-Id: I359bbf5c89bd23bb1b6db1aeed8a2a4aa2ca12bf Reviewed-by: Andre Poenitz <andre.poenitz@theqtcompany.com>

File last commit:

r2740:377e4516d036
r2774:7b74d88b3f3d
Show More
tst_qdatetimeaxis.cpp
312 lines | 8.2 KiB | text/x-c | CppLexer
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 /****************************************************************************
**
Titta Heikkala
Update copyright year...
r2688 ** Copyright (C) 2014 Digia Plc
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 ** All rights reserved.
Titta Heikkala
Updated license headers...
r2740 ** For any questions to Digia, please use contact form at http://qt.io
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 **
Titta Heikkala
Updated license headers...
r2740 ** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
** agreement between you and Digia.
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 **
****************************************************************************/
#include "../qabstractaxis/tst_qabstractaxis.h"
Titta Heikkala
Fix include syntax...
r2714 #include <QtCharts/QDateTimeAxis>
#include <QtCharts/QLineSeries>
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 class tst_QDateTimeAxis : public QObject//: public tst_QAbstractAxis
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 {
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 Q_OBJECT
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
public slots:
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void qdatetimeaxis_data();
void qdatetimeaxis();
void max_raw_data();
void max_raw();
void max_data();
void max();
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void max_animation_data();
void max_animation();
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void min_raw_data();
void min_raw();
void min_data();
void min();
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void min_animation_data();
void min_animation();
Marek Rosa
Docs and dateTime test updated
r1733 void range_raw_data();
void range_raw();
void range_data();
void range();
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void range_animation_data();
void range_animation();
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
private:
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 QDateTimeAxis *m_dateTimeAxisX;
QDateTimeAxis *m_dateTimeAxisY;
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 QLineSeries* m_series;
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 QChartView* m_view;
QChart* m_chart;
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 };
void tst_QDateTimeAxis::initTestCase()
{
}
void tst_QDateTimeAxis::cleanupTestCase()
{
Miikka Heikkinen
Plugged some memory leaks....
r2733 QTest::qWait(1); // Allow final deleteLaters to run
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 }
void tst_QDateTimeAxis::init()
{
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 m_dateTimeAxisX = new QDateTimeAxis();
m_dateTimeAxisY = new QDateTimeAxis();
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 m_series = new QLineSeries();
*m_series << QPointF(-100, -100) << QPointF(0, 0) << QPointF(100, 100);
Marek Rosa
Docs and dateTime test updated
r1733 // tst_QAbstractAxis::init(m_datetimeaxis, m_series);
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728
Marek Rosa
QCategoryAxis renamed some methods names according to review
r1829 m_view = new QChartView;
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 m_chart = m_view->chart();
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 m_chart->addSeries(m_series);
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 m_chart->setAxisY(m_dateTimeAxisY, m_series);
m_chart->setAxisX(m_dateTimeAxisX, m_series);
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 }
void tst_QDateTimeAxis::cleanup()
{
delete m_series;
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 delete m_dateTimeAxisX;
delete m_dateTimeAxisY;
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 m_series = 0;
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 m_dateTimeAxisX = 0;
m_dateTimeAxisY = 0;
delete m_view;
m_view = 0;
m_chart = 0;
Marek Rosa
Docs and dateTime test updated
r1733 // tst_QAbstractAxis::cleanup();
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719 }
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::qdatetimeaxis_data()
{
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::qdatetimeaxis()
{
Marek Rosa
Docs and dateTime test updated
r1733 // qabstractaxis();
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 QCOMPARE(m_dateTimeAxisX->type(), QAbstractAxis::AxisTypeDateTime);
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 m_view->show();
QTest::qWaitForWindowShown(m_view);
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 QVERIFY(m_dateTimeAxisX->max().toMSecsSinceEpoch() != 0);
QVERIFY(m_dateTimeAxisX->min().toMSecsSinceEpoch() != 0);
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::max_raw_data()
{
QTest::addColumn<QDateTime>("max");
QTest::addColumn<bool>("valid");
QDateTime dateTime;
dateTime.setDate(QDate(2012, 7, 19));
QTest::newRow("19.7.2012 - Valid") << dateTime << true;
dateTime.setDate(QDate(2012, 17, 32));
QTest::newRow("32.17.2012 - Invalid") << dateTime << false;
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::max_raw()
{
QFETCH(QDateTime, max);
QFETCH(bool, valid);
QSignalSpy spy0(m_dateTimeAxisX, SIGNAL(maxChanged(QDateTime)));
QSignalSpy spy1(m_dateTimeAxisX, SIGNAL(minChanged(QDateTime)));
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy2(m_dateTimeAxisX, SIGNAL(rangeChanged(QDateTime,QDateTime)));
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728
m_dateTimeAxisX->setMax(max);
if (valid) {
QVERIFY2(m_dateTimeAxisX->max() == max, "Not equal");
QCOMPARE(spy0.count(), 1);
QCOMPARE(spy1.count(), 0);
QCOMPARE(spy2.count(), 1);
} else {
Marek Rosa
Docs and dateTime test updated
r1733 QVERIFY2(m_dateTimeAxisX->max() != max, "Date is invalid and should not be set");
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 QCOMPARE(spy0.count(), 0);
QCOMPARE(spy1.count(), 0);
QCOMPARE(spy2.count(), 0);
}
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::max_data()
{
max_raw_data();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::max()
{
Marek Rosa
QCategoryAxis renamed some methods names according to review
r1829 // m_chart->setAxisX(m_dateTimeAxisX, m_series);
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 m_view->show();
QTest::qWaitForWindowShown(m_view);
max_raw();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void tst_QDateTimeAxis::max_animation_data()
{
max_data();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void tst_QDateTimeAxis::max_animation()
{
m_chart->setAnimationOptions(QChart::GridAxisAnimations);
max();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::min_raw_data()
{
QTest::addColumn<QDateTime>("min");
QTest::addColumn<bool>("valid");
QDateTime dateTime;
dateTime.setDate(QDate(1908, 1, 11));
QTest::newRow("11.1.1908 - Valid") << dateTime << true; // negative MSecs from Epoch
dateTime.setDate(QDate(2012, 17, 32));
QTest::newRow("32.17.2012 - Invalid") << dateTime << false;
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::min_raw()
{
QFETCH(QDateTime, min);
QFETCH(bool, valid);
QSignalSpy spy0(m_dateTimeAxisX, SIGNAL(maxChanged(QDateTime)));
QSignalSpy spy1(m_dateTimeAxisX, SIGNAL(minChanged(QDateTime)));
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy2(m_dateTimeAxisX, SIGNAL(rangeChanged(QDateTime,QDateTime)));
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728
m_dateTimeAxisX->setMin(min);
if (valid) {
QVERIFY2(m_dateTimeAxisX->min() == min, "Not equal");
QCOMPARE(spy0.count(), 0);
QCOMPARE(spy1.count(), 1);
QCOMPARE(spy2.count(), 1);
} else {
Marek Rosa
Docs and dateTime test updated
r1733 QVERIFY2(m_dateTimeAxisX->min() != min, "Date is invalid and should not be set");
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 QCOMPARE(spy0.count(), 0);
QCOMPARE(spy1.count(), 0);
QCOMPARE(spy2.count(), 0);
}
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::min_data()
{
min_raw_data();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 void tst_QDateTimeAxis::min()
{
Marek Rosa
QCategoryAxis renamed some methods names according to review
r1829 // m_chart->setAxisX(m_dateTimeAxisX, m_series);
Marek Rosa
Ranges on values, intervals and datatime axes cannot be set to be invalid
r1728 m_view->show();
QTest::qWaitForWindowShown(m_view);
min_raw();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void tst_QDateTimeAxis::min_animation_data()
{
min_data();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void tst_QDateTimeAxis::min_animation()
{
m_chart->setAnimationOptions(QChart::GridAxisAnimations);
min();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Docs and dateTime test updated
r1733 void tst_QDateTimeAxis::range_raw_data()
{
QTest::addColumn<QDateTime>("min");
QTest::addColumn<bool>("minValid");
QTest::addColumn<QDateTime>("max");
QTest::addColumn<bool>("maxValid");
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Docs and dateTime test updated
r1733 QDateTime minDateTime;
QDateTime maxDateTime;
minDateTime.setDate(QDate(1908, 1, 11));
maxDateTime.setDate(QDate(1958, 11, 21));
QTest::newRow("11.1.1908 - min valid, 21.12.1958 - max valid") << minDateTime << true << maxDateTime << true; // negative MSecs from Epoch, min < max
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Docs and dateTime test updated
r1733 minDateTime.setDate(QDate(2012, 17, 32));
QTest::newRow("32.17.2012 - min invalid, 21.12.1958 - max valid") << minDateTime << false << maxDateTime << true;
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Docs and dateTime test updated
r1733 maxDateTime.setDate(QDate(2017, 0, 1));
QTest::newRow("32.17.2012 - min invalid, 1.0.2017 - max invalid") << minDateTime << false << maxDateTime << false;
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Docs and dateTime test updated
r1733 minDateTime.setDate(QDate(2012, 1, 1));
QTest::newRow("1.1.2012 - min valid, 1.0.2017 - max invalid") << minDateTime << true << maxDateTime << false;
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Docs and dateTime test updated
r1733 maxDateTime.setDate(QDate(2005, 2, 5));
QTest::newRow("1.1.2012 - min valid, 5.2.2005 - max valid") << minDateTime << true << maxDateTime << true; // min > max
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Docs and dateTime test updated
r1733 void tst_QDateTimeAxis::range_raw()
{
QFETCH(QDateTime, min);
QFETCH(bool, minValid);
QFETCH(QDateTime, max);
QFETCH(bool, maxValid);
QSignalSpy spy0(m_dateTimeAxisX, SIGNAL(maxChanged(QDateTime)));
QSignalSpy spy1(m_dateTimeAxisX, SIGNAL(minChanged(QDateTime)));
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy2(m_dateTimeAxisX, SIGNAL(rangeChanged(QDateTime,QDateTime)));
Marek Rosa
Docs and dateTime test updated
r1733
m_dateTimeAxisX->setRange(min, max);
if (minValid && maxValid && min < max) {
QCOMPARE(spy0.count(), 1);
QCOMPARE(spy1.count(), 1);
QCOMPARE(spy2.count(), 1);
} else {
QCOMPARE(spy0.count(), 0);
QCOMPARE(spy1.count(), 0);
QCOMPARE(spy2.count(), 0);
}
}
void tst_QDateTimeAxis::range_data()
{
range_raw_data();
}
void tst_QDateTimeAxis::range()
{
Marek Rosa
QCategoryAxis renamed some methods names according to review
r1829 // m_chart->setAxisX(m_dateTimeAxisX, m_series);
Marek Rosa
Docs and dateTime test updated
r1733 m_view->show();
QTest::qWaitForWindowShown(m_view);
range_raw();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void tst_QDateTimeAxis::range_animation_data()
{
range_data();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
Marek Rosa
Enabled more tests in qdatetimeaxis
r1737 void tst_QDateTimeAxis::range_animation()
{
m_chart->setAnimationOptions(QChart::GridAxisAnimations);
range();
}
Marek Rosa
Added placeholder for QDateTimeAxis tests
r1719
QTEST_MAIN(tst_QDateTimeAxis)
#include "tst_qdatetimeaxis.moc"