##// END OF EJS Templates
Removed some commented out code in barmodel mapper and replaced one comment with different one
Removed some commented out code in barmodel mapper and replaced one comment with different one

File last commit:

r2110:a93a773ef512
r2151:cdaf9997827b
Show More
tst_qxyseries.cpp
457 lines | 10.6 KiB | text/x-c | CppLexer
Michal Klocek
Adds spline scatter unit tests
r1266 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
#include "tst_qxyseries.h"
Q_DECLARE_METATYPE(QList<QPointF>)
void tst_QXYSeries::initTestCase()
{
}
void tst_QXYSeries::cleanupTestCase()
{
}
void tst_QXYSeries::init()
{
m_view = new QChartView(new QChart());
m_chart = m_view->chart();
}
void tst_QXYSeries::cleanup()
{
delete m_view;
m_view = 0;
m_chart = 0;
m_series = 0;
}
Tero Ahola
QML methods of series: several fixes and documentation
r1521 void tst_QXYSeries::seriesName()
{
QSignalSpy nameSpy(m_series, SIGNAL(nameChanged()));
QCOMPARE(m_series->name(), QString());
m_series->setName("seriesname");
QCOMPARE(m_series->name(), QString("seriesname"));
TRY_COMPARE(nameSpy.count(), 1);
}
void tst_QXYSeries::seriesVisible()
{
QSignalSpy visibleSpy(m_series, SIGNAL(visibleChanged()));
QCOMPARE(m_series->isVisible(), true);
m_series->setVisible(false);
QCOMPARE(m_series->isVisible(), false);
m_series->setVisible(true);
TRY_COMPARE(visibleSpy.count(), 2);
}
Tero Ahola
Added opacity property to QAbstractSeries
r2067 void tst_QXYSeries::seriesOpacity()
{
QSignalSpy opacitySpy(m_series, SIGNAL(opacityChanged()));
QCOMPARE(m_series->opacity(), 1.0);
m_series->setOpacity(0.5);
QCOMPARE(m_series->opacity(), 0.5);
QCOMPARE(opacitySpy.count(), 1);
m_series->setOpacity(0.0);
QCOMPARE(m_series->opacity(), 0.0);
QCOMPARE(opacitySpy.count(), 2);
m_series->setOpacity(1.0);
QCOMPARE(m_series->opacity(), 1.0);
QCOMPARE(opacitySpy.count(), 3);
}
Michal Klocek
Adds spline scatter unit tests
r1266 void tst_QXYSeries::append_data()
{
QTest::addColumn< QList<QPointF> >("points");
QTest::newRow("0,0 1,1 2,2 3,3") << (QList<QPointF>() << QPointF(0,0) << QPointF(1,1) << QPointF(2,2) << QPointF(3,3));
QTest::newRow("0,0 -1,-1 -2,-2 -3,-3") << (QList<QPointF>() << QPointF(0,0) << QPointF(-1,-1) << QPointF(-2,-2) << QPointF(-3,-3));
}
void tst_QXYSeries::append_raw_data()
{
append_data();
}
void tst_QXYSeries::append_raw()
{
QFETCH(QList<QPointF>, points);
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy0(m_series, SIGNAL(clicked(QPointF)));
Tero Ahola
QML methods of series: several fixes and documentation
r1521 QSignalSpy addedSpy(m_series, SIGNAL(pointAdded(int)));
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->append(points);
TRY_COMPARE(spy0.count(), 0);
Tero Ahola
QML methods of series: several fixes and documentation
r1521 TRY_COMPARE(addedSpy.count(), points.count());
Michal Klocek
Adds spline scatter unit tests
r1266 QCOMPARE(m_series->points(), points);
}
void tst_QXYSeries::chart_append_data()
{
append_data();
}
void tst_QXYSeries::chart_append()
{
append_raw();
m_chart->addSeries(m_series);
m_view->show();
QTest::qWaitForWindowShown(m_view);
}
void tst_QXYSeries::append_chart_data()
{
append_data();
}
void tst_QXYSeries::append_chart()
{
m_view->show();
m_chart->addSeries(m_series);
QTest::qWaitForWindowShown(m_view);
append_raw();
}
void tst_QXYSeries::append_chart_animation_data()
{
append_data();
}
void tst_QXYSeries::append_chart_animation()
{
m_chart->setAnimationOptions(QChart::AllAnimations);
append_chart();
}
void tst_QXYSeries::count_data()
{
QTest::addColumn<int>("count");
QTest::newRow("0") << 0;
QTest::newRow("5") << 5;
QTest::newRow("10") << 5;
}
void tst_QXYSeries::count_raw_data()
{
count_data();
}
void tst_QXYSeries::count_raw()
{
QFETCH(int, count);
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy0(m_series, SIGNAL(clicked(QPointF)));
Michal Klocek
Adds spline scatter unit tests
r1266
for(int i=0 ; i< count; ++i)
m_series->append(i,i);
TRY_COMPARE(spy0.count(), 0);
QCOMPARE(m_series->count(), count);
}
void tst_QXYSeries::remove_raw_data()
{
append_data();
}
void tst_QXYSeries::remove_raw()
{
QFETCH(QList<QPointF>, points);
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy0(m_series, SIGNAL(clicked(QPointF)));
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->append(points);
TRY_COMPARE(spy0.count(), 0);
QCOMPARE(m_series->points(), points);
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (const QPointF& point,points)
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->remove(point);
QCOMPARE(m_series->points().count(), 0);
TRY_COMPARE(spy0.count(), 0);
m_series->append(points);
QCOMPARE(m_series->points(), points);
//reverse order
for(int i = points.count()-1 ; i>=0; i--){
m_series->remove(points[i]);
}
QCOMPARE(m_series->points().count(), 0);
}
void tst_QXYSeries::remove_chart_data()
{
append_data();
}
void tst_QXYSeries::remove_chart()
{
m_view->show();
m_chart->addSeries(m_series);
QTest::qWaitForWindowShown(m_view);
remove_raw();
}
void tst_QXYSeries::remove_chart_animation_data()
{
append_data();
}
void tst_QXYSeries::remove_chart_animation()
{
m_chart->setAnimationOptions(QChart::AllAnimations);
remove_chart();
}
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 void tst_QXYSeries::clear_raw_data()
Michal Klocek
Adds spline scatter unit tests
r1266 {
append_data();
}
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 void tst_QXYSeries::clear_raw()
Michal Klocek
Adds spline scatter unit tests
r1266 {
QFETCH(QList<QPointF>, points);
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy0(m_series, SIGNAL(clicked(QPointF)));
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->append(points);
TRY_COMPARE(spy0.count(), 0);
QCOMPARE(m_series->points(), points);
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 m_series->clear();
Michal Klocek
Adds spline scatter unit tests
r1266 TRY_COMPARE(spy0.count(), 0);
QCOMPARE(m_series->points().count(), 0);
}
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 void tst_QXYSeries::clear_chart_data()
Michal Klocek
Adds spline scatter unit tests
r1266 {
append_data();
}
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 void tst_QXYSeries::clear_chart()
Michal Klocek
Adds spline scatter unit tests
r1266 {
m_view->show();
m_chart->addSeries(m_series);
QTest::qWaitForWindowShown(m_view);
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 clear_raw();
Michal Klocek
Adds spline scatter unit tests
r1266 }
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 void tst_QXYSeries::clear_chart_animation_data()
Michal Klocek
Adds spline scatter unit tests
r1266 {
append_data();
}
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 void tst_QXYSeries::clear_chart_animation()
Michal Klocek
Adds spline scatter unit tests
r1266 {
m_chart->setAnimationOptions(QChart::AllAnimations);
Jani Honkonen
xyseries: removeAll() was duplicate of clear()
r1374 clear_chart();
Michal Klocek
Adds spline scatter unit tests
r1266 }
void tst_QXYSeries::replace_raw_data()
{
append_data();
}
void tst_QXYSeries::replace_raw()
{
QFETCH(QList<QPointF>, points);
Tero Ahola
Added a new QXYSeries::replace override for performance reasons....
r1783 QSignalSpy pointReplacedSpy(m_series, SIGNAL(pointReplaced(int)));
QSignalSpy pointsReplacedSpy(m_series, SIGNAL(pointsReplaced()));
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->append(points);
Tero Ahola
Added a new QXYSeries::replace override for performance reasons....
r1783 TRY_COMPARE(pointReplacedSpy.count(), 0);
TRY_COMPARE(pointsReplacedSpy.count(), 0);
Michal Klocek
Adds spline scatter unit tests
r1266 QCOMPARE(m_series->points(), points);
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (const QPointF& point, points)
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->replace(point.x(),point.y(),point.x(),0);
Tero Ahola
Added a new QXYSeries::replace override for performance reasons....
r1783 TRY_COMPARE(pointReplacedSpy.count(), points.count());
TRY_COMPARE(pointsReplacedSpy.count(), 0);
Tero Ahola
QML methods of series: several fixes and documentation
r1521
// Replace a point that does not exist
m_series->replace(-123, 999, 0, 0);
Tero Ahola
Added a new QXYSeries::replace override for performance reasons....
r1783 TRY_COMPARE(pointReplacedSpy.count(), points.count());
TRY_COMPARE(pointsReplacedSpy.count(), 0);
Michal Klocek
Adds spline scatter unit tests
r1266
QList<QPointF> newPoints = m_series->points();
QCOMPARE(newPoints.count(), points.count());
for(int i =0 ; i<points.count() ; ++i) {
QCOMPARE(points[i].x(), newPoints[i].x());
QCOMPARE(newPoints[i].y(), 0.0);
}
Tero Ahola
Added a new QXYSeries::replace override for performance reasons....
r1783
// Replace all points
QList<QPointF> allPoints;
for (int i = 0; i < 10; i++)
allPoints.append(QPointF(i, (qreal) rand() / (qreal) RAND_MAX));
m_series->replace(allPoints);
TRY_COMPARE(pointReplacedSpy.count(), points.count());
TRY_COMPARE(pointsReplacedSpy.count(), 1);
Michal Klocek
Adds spline scatter unit tests
r1266 }
void tst_QXYSeries::replace_chart_data()
{
append_data();
}
void tst_QXYSeries::replace_chart()
{
m_view->show();
m_chart->addSeries(m_series);
QTest::qWaitForWindowShown(m_view);
replace_raw();
}
void tst_QXYSeries::replace_chart_animation_data()
{
append_data();
}
void tst_QXYSeries::replace_chart_animation()
{
m_chart->setAnimationOptions(QChart::AllAnimations);
replace_chart();
}
Tero Ahola
QML methods of series: several fixes and documentation
r1521 void tst_QXYSeries::insert_data()
{
append_data();
}
void tst_QXYSeries::insert()
{
QFETCH(QList<QPointF>, points);
m_series->append(points);
QSignalSpy addedSpy(m_series, SIGNAL(pointAdded(int)));
m_series->insert(0, QPointF(5, 5));
TRY_COMPARE(addedSpy.count(), 1);
QCOMPARE(m_series->points().count(), points.count() + 1);
m_series->insert(m_series->count(), QPointF(6, 6));
TRY_COMPARE(addedSpy.count(), 2);
QCOMPARE(m_series->points().count(), points.count() + 2);
}
Michal Klocek
Adds spline scatter unit tests
r1266 void tst_QXYSeries::oper_data()
{
append_data();
}
void tst_QXYSeries::oper()
{
QFETCH(QList<QPointF>, points);
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy0(m_series, SIGNAL(clicked(QPointF)));
Michal Klocek
Adds spline scatter unit tests
r1266
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (const QPointF& point,points)
Michal Klocek
Adds spline scatter unit tests
r1266 {
*m_series<<point;
}
QCOMPARE(m_series->points(), points);
TRY_COMPARE(spy0.count(), 0);
}
void tst_QXYSeries::pen_data()
{
QTest::addColumn<QPen>("pen");
QTest::newRow("null") << QPen();
QTest::newRow("blue") << QPen(Qt::blue);
QTest::newRow("black") << QPen(Qt::black);
QTest::newRow("red") << QPen(Qt::red);
}
void tst_QXYSeries::pen()
{
QFETCH(QPen, pen);
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy0(m_series, SIGNAL(clicked(QPointF)));
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->setPen(pen);
TRY_COMPARE(spy0.count(), 0);
QCOMPARE(m_series->pen(), pen);
m_chart->addSeries(m_series);
Jani Honkonen
Fix bug in tst_qxyseries
r1289 if (pen != QPen())
QCOMPARE(m_series->pen(), pen);
Michal Klocek
Adds spline scatter unit tests
r1266
m_chart->setTheme(QChart::ChartThemeDark);
Jani Honkonen
Fix bug in tst_qxyseries
r1289 // setting a theme will overwrite all customizations
if (pen != QPen())
QVERIFY(m_series->pen() != pen);
Michal Klocek
Adds spline scatter unit tests
r1266 }
void tst_QXYSeries::pointsVisible_data()
{
QTest::addColumn<bool>("pointsVisible");
QTest::newRow("true") << true;
QTest::newRow("false") << false;
}
void tst_QXYSeries::pointsVisible_raw_data()
{
pointsVisible_data();
}
void tst_QXYSeries::pointsVisible_raw()
{
QFETCH(bool, pointsVisible);
Jani Honkonen
normalize signal/slot signatures
r2110 QSignalSpy spy0(m_series, SIGNAL(clicked(QPointF)));
Michal Klocek
Adds spline scatter unit tests
r1266 m_series->setPointsVisible(pointsVisible);
TRY_COMPARE(spy0.count(), 0);
QCOMPARE(m_series->pointsVisible(), pointsVisible);
}
Tero Ahola
Visible property to abstract series
r1342
void tst_QXYSeries::changedSignals()
{
QSignalSpy visibleSpy(m_series, SIGNAL(visibleChanged()));
Tero Ahola
Color and border color properties of XYSeries
r1537 QSignalSpy nameSpy(m_series, SIGNAL(nameChanged()));
QSignalSpy colorSpy(m_series, SIGNAL(colorChanged(QColor)));
Tero Ahola
Visible property to abstract series
r1342
Tero Ahola
Color and border color properties of XYSeries
r1537 // Visibility
Tero Ahola
Visible property to abstract series
r1342 m_series->setVisible(false);
m_series->setVisible(false);
TRY_COMPARE(visibleSpy.count(), 1);
m_series->setVisible(true);
TRY_COMPARE(visibleSpy.count(), 2);
Tero Ahola
Color and border color properties of XYSeries
r1537 // Color
m_series->setColor(QColor("aliceblue"));
TRY_COMPARE(colorSpy.count(), 1);
// Pen and Brush
QPen p = m_series->pen();
p.setColor("aquamarine");
m_series->setPen(p);
QBrush b = m_series->brush();
b.setColor("beige");
m_series->setBrush(b);
TRY_COMPARE(colorSpy.count(), 2);
// Verify all the signals again, to make sure no extra signals were emitted
TRY_COMPARE(visibleSpy.count(), 2);
TRY_COMPARE(nameSpy.count(), 0);
TRY_COMPARE(colorSpy.count(), 2);
}