File indexing completed on 2024-04-28 15:29:29

0001 /*
0002     SPDX-FileCopyrightText: 2012 Benjamin Port <benjamin.port@ben2367.fr>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include <kplotobject.h>
0008 #include <kplotwidget.h>
0009 
0010 #include <qtest_widgets.h>
0011 
0012 #include <QBrush>
0013 
0014 class KPlotWidgetTest : public QObject
0015 {
0016     Q_OBJECT
0017 
0018 private Q_SLOTS:
0019     void init()
0020     {
0021         widget = new KPlotWidget();
0022     }
0023 
0024     void cleanup()
0025     {
0026         delete widget;
0027     }
0028 
0029     void testPlotObjectsDefaultSize()
0030     {
0031         // verify plotObjects is empty
0032         QCOMPARE(widget->plotObjects().size(), 0);
0033     }
0034 
0035     void testAddPlotObject()
0036     {
0037         // Add object
0038         KPlotObject *object1 = new KPlotObject();
0039         widget->addPlotObject(object1);
0040 
0041         // verify plotObjects size
0042         QCOMPARE(widget->plotObjects().size(), 1);
0043 
0044         // Add object
0045         KPlotObject *object2 = new KPlotObject();
0046         widget->addPlotObject(object2);
0047 
0048         QCOMPARE(widget->plotObjects().size(), 2);
0049 
0050         QCOMPARE(widget->plotObjects().at(0), object1);
0051         QCOMPARE(widget->plotObjects().at(1), object2);
0052     }
0053 
0054     void testAddPlotObjects()
0055     {
0056         // Add objects
0057         QList<KPlotObject *> list;
0058         list << new KPlotObject(Qt::red) << new KPlotObject(Qt::green) << new KPlotObject(Qt::blue);
0059 
0060         widget->addPlotObjects(list);
0061 
0062         // verify plotObjects size
0063         QCOMPARE(widget->plotObjects().size(), 3);
0064 
0065         QCOMPARE(widget->plotObjects().at(0)->brush().color(), QColor(Qt::red));
0066         QCOMPARE(widget->plotObjects().at(1)->brush().color(), QColor(Qt::green));
0067         QCOMPARE(widget->plotObjects().at(2)->brush().color(), QColor(Qt::blue));
0068     }
0069 
0070     void testRemoveAllObjects()
0071     {
0072         // Add objects
0073         QList<KPlotObject *> list;
0074         list << new KPlotObject() << new KPlotObject() << new KPlotObject();
0075         widget->addPlotObjects(list);
0076 
0077         widget->removeAllPlotObjects();
0078         QCOMPARE(widget->plotObjects().size(), 0);
0079     }
0080 
0081     void testReplacePlotObject()
0082     {
0083         QList<KPlotObject *> list;
0084         list << new KPlotObject(Qt::red) << new KPlotObject(Qt::green) << new KPlotObject(Qt::blue);
0085 
0086         widget->addPlotObjects(list);
0087 
0088         KPlotObject *object = new KPlotObject(Qt::black);
0089 
0090         widget->replacePlotObject(1, object);
0091 
0092         QCOMPARE(widget->plotObjects().at(1)->brush().color(), QColor(Qt::black));
0093     }
0094 
0095     void testBackgroundColor()
0096     {
0097         widget->setBackgroundColor(Qt::blue);
0098         QCOMPARE(widget->backgroundColor(), QColor(Qt::blue));
0099     }
0100 
0101     void testForegroundColor()
0102     {
0103         widget->setForegroundColor(Qt::yellow);
0104         QCOMPARE(widget->foregroundColor(), QColor(Qt::yellow));
0105     }
0106 
0107     void testGridColor()
0108     {
0109         widget->setGridColor(Qt::red);
0110         QCOMPARE(widget->gridColor(), QColor(Qt::red));
0111     }
0112 
0113     void testGridShown()
0114     {
0115         widget->setShowGrid(true);
0116         QCOMPARE(widget->isGridShown(), true);
0117 
0118         widget->setShowGrid(false);
0119         QCOMPARE(widget->isGridShown(), false);
0120     }
0121 
0122     void testObjectToolTipShown()
0123     {
0124         widget->setObjectToolTipShown(true);
0125         QCOMPARE(widget->isObjectToolTipShown(), true);
0126 
0127         widget->setObjectToolTipShown(false);
0128         QCOMPARE(widget->isObjectToolTipShown(), false);
0129     }
0130 
0131     void testAntialiasing()
0132     {
0133         widget->setAntialiasing(true);
0134         QCOMPARE(widget->antialiasing(), true);
0135 
0136         widget->setAntialiasing(false);
0137         QCOMPARE(widget->antialiasing(), false);
0138     }
0139 
0140 private:
0141     KPlotWidget *widget;
0142 };
0143 
0144 QTEST_MAIN(KPlotWidgetTest)
0145 
0146 #include "kplotwidgettest.moc"