##// 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:

r1820:eb2fd17107e1
r2151:cdaf9997827b
Show More
tst_qbarset.cpp
519 lines | 12.8 KiB | text/x-c | CppLexer
sauimone
tst_qbarset added
r1076 /****************************************************************************
**
** 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 <QtTest/QtTest>
#include <qbarset.h>
sauimone
GroupedBarSeries to BarSeries
r1594 #include <qbarseries.h>
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 #include <qchartview.h>
sauimone
tst_qbarset added
r1076
QTCOMMERCIALCHART_USE_NAMESPACE
class tst_QBarSet : public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void qbarset_data();
void qbarset();
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 void label_data();
void label();
sauimone
tst_qbarset added
r1076 void append_data();
void append();
void appendOperator_data();
void appendOperator();
void insert_data();
void insert();
void remove_data();
void remove();
void replace_data();
void replace();
void at_data();
void at();
void atOperator_data();
void atOperator();
void count_data();
void count();
void sum_data();
void sum();
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 void customize();
sauimone
qbarset test update
r1158
sauimone
tst_qbarset added
r1076 private:
QBarSet* m_barset;
};
void tst_QBarSet::initTestCase()
{
}
void tst_QBarSet::cleanupTestCase()
{
}
void tst_QBarSet::init()
{
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 m_barset = new QBarSet(QString("label"));
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::cleanup()
{
delete m_barset;
m_barset = 0;
}
void tst_QBarSet::qbarset_data()
{
}
void tst_QBarSet::qbarset()
{
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 QBarSet barset(QString("label"));
QCOMPARE(barset.label(), QString("label"));
sauimone
tst_qbarset added
r1076 QCOMPARE(barset.count(), 0);
QVERIFY(qFuzzyIsNull(barset.sum()));
}
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 void tst_QBarSet::label_data()
sauimone
tst_qbarset added
r1076 {
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 QTest::addColumn<QString> ("label");
sauimone
barseries unit testing
r1100 QTest::addColumn<QString> ("result");
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 QTest::newRow("label0") << QString("label0") << QString("label0");
QTest::newRow("label1") << QString("label1") << QString("label1");
sauimone
tst_qbarset added
r1076 }
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 void tst_QBarSet::label()
sauimone
tst_qbarset added
r1076 {
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 QFETCH(QString, label);
sauimone
barseries unit testing
r1100 QFETCH(QString, result);
sauimone
tst_qbarset added
r1076
sauimone
changed barset name to label to be consistent with pie series. Series have names, barsets and pieslices have labels
r1429 QSignalSpy labelSpy(m_barset,SIGNAL(labelChanged()));
m_barset->setLabel(label);
QCOMPARE(m_barset->label(), result);
QVERIFY(labelSpy.count() == 1);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::append_data()
{
QTest::addColumn<int> ("count");
sauimone
barseries unit testing
r1100 QTest::newRow("0") << 0;
QTest::newRow("5") << 5;
QTest::newRow("100") << 100;
QTest::newRow("1000") << 1000;
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::append()
{
QFETCH(int, count);
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
Tero Ahola
Property notifications: axis minmax, bar properties, xyseries p-visibl and count
r1465 QSignalSpy valueSpy(m_barset, SIGNAL(valuesAdded(int,int)));
sauimone
barchart signals for properties and changes
r1353
sauimone
tst_qbarset added
r1076 qreal sum(0.0);
qreal value(0.0);
for (int i=0; i<count; i++) {
m_barset->append(value);
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(i), value);
sauimone
tst_qbarset added
r1076 sum += value;
value += 1.0;
}
QCOMPARE(m_barset->count(), count);
QVERIFY(qFuzzyCompare(m_barset->sum(), sum));
sauimone
barchart signals for properties and changes
r1353
Tero Ahola
Property notifications: axis minmax, bar properties, xyseries p-visibl and count
r1465 QCOMPARE(valueSpy.count(), count);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::appendOperator_data()
{
append_data();
}
void tst_QBarSet::appendOperator()
{
QFETCH(int, count);
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
sauimone
barchart signals for properties and changes
r1353 QSignalSpy valueSpy(m_barset,SIGNAL(valuesAdded(int,int)));
sauimone
tst_qbarset added
r1076 qreal sum(0.0);
qreal value(0.0);
for (int i=0; i<count; i++) {
*m_barset << value;
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(i), value);
sauimone
tst_qbarset added
r1076 sum += value;
value += 1.0;
}
QCOMPARE(m_barset->count(), count);
QVERIFY(qFuzzyCompare(m_barset->sum(), sum));
Tero Ahola
Property notifications: axis minmax, bar properties, xyseries p-visibl and count
r1465 QCOMPARE(valueSpy.count(), count);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::insert_data()
{
}
void tst_QBarSet::insert()
{
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
sauimone
barchart signals for properties and changes
r1353 QSignalSpy valueSpy(m_barset,SIGNAL(valuesAdded(int,int)));
sauimone
tst_qbarset added
r1076
m_barset->insert(0, 1.0); // 1.0
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(0), 1.0);
sauimone
tst_qbarset added
r1076 QCOMPARE(m_barset->count(), 1);
Marek Rosa
Wavechart example and designer plugin disabled on arm due to include problem
r1680 QVERIFY(qFuzzyCompare(m_barset->sum(), (qreal)1.0));
sauimone
tst_qbarset added
r1076
m_barset->insert(0, 2.0); // 2.0 1.0
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(0), 2.0);
QCOMPARE(m_barset->at(1), 1.0);
sauimone
tst_qbarset added
r1076 QCOMPARE(m_barset->count(), 2);
Marek Rosa
Wavechart example and designer plugin disabled on arm due to include problem
r1680 QVERIFY(qFuzzyCompare(m_barset->sum(), (qreal)3.0));
sauimone
tst_qbarset added
r1076
m_barset->insert(1, 3.0); // 2.0 3.0 1.0
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(1), 3.0);
QCOMPARE(m_barset->at(0), 2.0);
QCOMPARE(m_barset->at(2), 1.0);
sauimone
tst_qbarset added
r1076 QCOMPARE(m_barset->count(), 3);
Marek Rosa
Wavechart example and designer plugin disabled on arm due to include problem
r1680 QVERIFY(qFuzzyCompare(m_barset->sum(), (qreal)6.0));
Tero Ahola
Property notifications: axis minmax, bar properties, xyseries p-visibl and count
r1465 QCOMPARE(valueSpy.count(), 3);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::remove_data()
{
}
void tst_QBarSet::remove()
{
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
sauimone
barchart signals for properties and changes
r1353 QSignalSpy valueSpy(m_barset,SIGNAL(valuesRemoved(int,int)));
sauimone
tst_qbarset added
r1076 m_barset->append(1.0);
m_barset->append(2.0);
m_barset->append(3.0);
m_barset->append(4.0);
QCOMPARE(m_barset->count(), 4);
QCOMPARE(m_barset->sum(), 10.0);
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 // Remove middle
sauimone
tst_qbarset added
r1076 m_barset->remove(2); // 1.0 2.0 4.0
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(0), 1.0);
QCOMPARE(m_barset->at(1), 2.0);
QCOMPARE(m_barset->at(2), 4.0);
sauimone
tst_qbarset added
r1076 QCOMPARE(m_barset->count(), 3);
QCOMPARE(m_barset->sum(), 7.0);
sauimone
barset: removed boolean return value from remove(index,count) function
r1514 QCOMPARE(valueSpy.count(), 1);
QList<QVariant> valueSpyArg = valueSpy.takeFirst();
// Verify index of removed signal
QVERIFY(valueSpyArg.at(0).type() == QVariant::Int);
QVERIFY(valueSpyArg.at(0).toInt() == 2);
// Verify count of removed signal
QVERIFY(valueSpyArg.at(1).type() == QVariant::Int);
QVERIFY(valueSpyArg.at(1).toInt() == 1);
sauimone
tst_qbarset added
r1076
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 // Remove first
sauimone
tst_qbarset added
r1076 m_barset->remove(0); // 2.0 4.0
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(0), 2.0);
QCOMPARE(m_barset->at(1), 4.0);
sauimone
tst_qbarset added
r1076 QCOMPARE(m_barset->count(), 2);
QCOMPARE(m_barset->sum(), 6.0);
sauimone
barchart signals for properties and changes
r1353
sauimone
barset: removed boolean return value from remove(index,count) function
r1514 QCOMPARE(valueSpy.count(), 1);
valueSpyArg = valueSpy.takeFirst();
// Verify index of removed signal
QVERIFY(valueSpyArg.at(0).type() == QVariant::Int);
QVERIFY(valueSpyArg.at(0).toInt() == 0);
// Verify count of removed signal
QVERIFY(valueSpyArg.at(1).type() == QVariant::Int);
QVERIFY(valueSpyArg.at(1).toInt() == 1);
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 // Illegal indexes
m_barset->remove(4);
QCOMPARE(m_barset->count(), 2);
QCOMPARE(m_barset->sum(), 6.0);
m_barset->remove(-1);
QCOMPARE(m_barset->count(), 2);
QCOMPARE(m_barset->sum(), 6.0);
sauimone
barset: removed boolean return value from remove(index,count) function
r1514 // nothing removed, no signals should be emitted
QCOMPARE(valueSpy.count(), 0);
// Remove more items than list has
m_barset->remove(0,312);
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
QCOMPARE(valueSpy.count(), 1);
valueSpyArg = valueSpy.takeFirst();
// Verify index of removed signal
QVERIFY(valueSpyArg.at(0).type() == QVariant::Int);
QVERIFY(valueSpyArg.at(0).toInt() == 0);
// Verify count of removed signal (expect 2 values removed, because list had only 2 items)
QVERIFY(valueSpyArg.at(1).type() == QVariant::Int);
QVERIFY(valueSpyArg.at(1).toInt() == 2);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::replace_data()
{
}
void tst_QBarSet::replace()
{
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
sauimone
barchart signals for properties and changes
r1353 QSignalSpy valueSpy(m_barset,SIGNAL(valueChanged(int)));
sauimone
tst_qbarset added
r1076
m_barset->append(1.0);
m_barset->append(2.0);
m_barset->append(3.0);
m_barset->append(4.0);
QCOMPARE(m_barset->count(), 4);
QCOMPARE(m_barset->sum(), 10.0);
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 // Replace first
sauimone
tst_qbarset added
r1076 m_barset->replace(0, 5.0); // 5.0 2.0 3.0 4.0
QCOMPARE(m_barset->count(), 4);
QCOMPARE(m_barset->sum(), 14.0);
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(0), 5.0);
sauimone
tst_qbarset added
r1076
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 // Replace last
sauimone
tst_qbarset added
r1076 m_barset->replace(3, 6.0);
QCOMPARE(m_barset->count(), 4); // 5.0 2.0 3.0 6.0
QCOMPARE(m_barset->sum(), 16.0);
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(0), 5.0);
QCOMPARE(m_barset->at(1), 2.0);
QCOMPARE(m_barset->at(2), 3.0);
QCOMPARE(m_barset->at(3), 6.0);
sauimone
barchart signals for properties and changes
r1353
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 // Illegal indexes
m_barset->replace(4, 6.0);
QCOMPARE(m_barset->count(), 4); // 5.0 2.0 3.0 6.0
QCOMPARE(m_barset->sum(), 16.0);
m_barset->replace(-1, 6.0);
QCOMPARE(m_barset->count(), 4); // 5.0 2.0 3.0 6.0
QCOMPARE(m_barset->sum(), 16.0);
sauimone
Removed QPointF from QBarSet
r1580 m_barset->replace(4, 1.0);
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 QCOMPARE(m_barset->count(), 4); // 5.0 2.0 3.0 6.0
QCOMPARE(m_barset->sum(), 16.0);
sauimone
Removed QPointF from QBarSet
r1580 m_barset->replace(-1, 1.0);
Tero Ahola
Parameter validation for QBarSet::replace and remove
r1512 QCOMPARE(m_barset->count(), 4); // 5.0 2.0 3.0 6.0
QCOMPARE(m_barset->sum(), 16.0);
sauimone
barchart signals for properties and changes
r1353 QVERIFY(valueSpy.count() == 2);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::at_data()
{
}
void tst_QBarSet::at()
{
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
m_barset->append(1.0);
m_barset->append(2.0);
m_barset->append(3.0);
m_barset->append(4.0);
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->at(0), 1.0);
QCOMPARE(m_barset->at(1), 2.0);
QCOMPARE(m_barset->at(2), 3.0);
QCOMPARE(m_barset->at(3), 4.0);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::atOperator_data()
{
}
void tst_QBarSet::atOperator()
{
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
m_barset->append(1.0);
m_barset->append(2.0);
m_barset->append(3.0);
m_barset->append(4.0);
sauimone
Removed QPointF from QBarSet
r1580 QCOMPARE(m_barset->operator [](0), 1.0);
QCOMPARE(m_barset->operator [](1), 2.0);
QCOMPARE(m_barset->operator [](2), 3.0);
QCOMPARE(m_barset->operator [](3), 4.0);
sauimone
tst_qbarset added
r1076 }
void tst_QBarSet::count_data()
{
}
void tst_QBarSet::count()
{
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
m_barset->append(1.0);
QCOMPARE(m_barset->count(),1);
m_barset->append(2.0);
QCOMPARE(m_barset->count(),2);
m_barset->append(3.0);
QCOMPARE(m_barset->count(),3);
m_barset->append(4.0);
QCOMPARE(m_barset->count(),4);
}
void tst_QBarSet::sum_data()
{
}
void tst_QBarSet::sum()
{
QCOMPARE(m_barset->count(), 0);
QVERIFY(qFuzzyIsNull(m_barset->sum()));
m_barset->append(1.0);
Marek Rosa
Wavechart example and designer plugin disabled on arm due to include problem
r1680 QVERIFY(qFuzzyCompare(m_barset->sum(), (qreal)1.0));
sauimone
tst_qbarset added
r1076 m_barset->append(2.0);
Marek Rosa
Wavechart example and designer plugin disabled on arm due to include problem
r1680 QVERIFY(qFuzzyCompare(m_barset->sum(), (qreal)3.0));
sauimone
tst_qbarset added
r1076 m_barset->append(3.0);
Marek Rosa
Wavechart example and designer plugin disabled on arm due to include problem
r1680 QVERIFY(qFuzzyCompare(m_barset->sum(), (qreal)6.0));
sauimone
tst_qbarset added
r1076 m_barset->append(4.0);
Marek Rosa
Wavechart example and designer plugin disabled on arm due to include problem
r1680 QVERIFY(qFuzzyCompare(m_barset->sum(), (qreal)10.0));
sauimone
tst_qbarset added
r1076 }
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 void tst_QBarSet::customize()
{
// Create sets
QBarSet *set1 = new QBarSet("set1");
QBarSet *set2 = new QBarSet("set2");
// Append set1 to series
sauimone
GroupedBarSeries to BarSeries
r1594 QBarSeries *series = new QBarSeries();
sauimone
fixed crash in barseries with empty sets
r1339 bool success = series->append(set1);
QVERIFY(success);
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335
// Add series to the chart
QChartView view(new QChart());
view.resize(200, 200);
view.chart()->addSeries(series);
view.show();
QTest::qWaitForWindowShown(&view);
// Test adding data to the sets
*set1 << 1 << 2 << 1 << 3;
*set2 << 2 << 1 << 3 << 1;
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789 // Remove sets from series
sauimone
fix to qbarset test
r1820 series->take(set1);
series->take(set2);
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 // Test pen
QVERIFY(set1->pen() != QPen());
QVERIFY(set2->pen() == QPen());
QPen pen(QColor(128,128,128,128));
set1->setPen(pen);
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789
// Add sets back to series
series->append(set1);
series->append(set2);
QVERIFY(set1->pen() == pen); // Should be customized
QVERIFY(set2->pen() != QPen()); // Should be decorated by theme
// Remove sets from series
sauimone
fix to qbarset test
r1820 series->take(set1);
series->take(set2);
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335
// Test brush
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789 set2->setBrush(QBrush());
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 QVERIFY(set1->brush() != QBrush());
QVERIFY(set2->brush() == QBrush());
QBrush brush(QColor(128,128,128,128));
set1->setBrush(brush);
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789
// Add sets back to series
series->append(set1);
series->append(set2);
QVERIFY(set1->brush() == brush); // Should be customized
QVERIFY(set2->brush() != QBrush()); // Should be decorated by theme
// Remove sets from series
sauimone
fix to qbarset test
r1820 series->take(set1);
series->take(set2);
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335
// Test label brush
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789 set2->setLabelBrush(QBrush());
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 QVERIFY(set1->labelBrush() != QBrush());
QVERIFY(set2->labelBrush() == QBrush());
set1->setLabelBrush(brush);
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789
series->append(set1);
series->append(set2);
QVERIFY(set1->labelBrush() == brush); // Should be customized
QVERIFY(set2->labelBrush() != QBrush()); // Should be decorated by theme
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335
// Test label font
// Note: QFont empty constructor creates font with application's default font, so the font may or may not be the
// same for the set added to the series (depending on the QChart's theme configuration)
QVERIFY(set1->labelFont() != QFont() || set1->labelFont() == QFont());
QVERIFY(set2->labelFont() == QFont());
sauimone
qbarset test update
r1158 QFont font;
font.setBold(true);
font.setItalic(true);
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 set1->setLabelFont(font);
QVERIFY(set1->labelFont() == font);
QVERIFY(set2->labelFont() == QFont());
sauimone
qbarset test update
r1158
Tero Ahola
QBarSet auto test to show the sets in QChartView
r1335 // Test adding data to the sets
*set1 << 1 << 2 << 1 << 3;
*set2 << 2 << 1 << 3 << 1;
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789
sauimone
qbarset test update
r1158 }
sauimone
updated tst_qbarset to test fix for QTRD-1519
r1789
sauimone
tst_qbarset added
r1076 QTEST_MAIN(tst_QBarSet)
#include "tst_qbarset.moc"