File indexing completed on 2024-04-28 16:49:47

0001 #include "signalplotterbenchmark.h"
0002 #include "signalplotter/ksignalplotter.h"
0003 
0004 #include <QRandomGenerator>
0005 #include <QtGui>
0006 #include <QtTestGui>
0007 #include <limits>
0008 
0009 void BenchmarkSignalPlotter::init()
0010 {
0011     s = new KSignalPlotter;
0012 }
0013 void BenchmarkSignalPlotter::cleanup()
0014 {
0015     delete s;
0016 }
0017 
0018 void BenchmarkSignalPlotter::addData()
0019 {
0020     s->addBeam(Qt::blue);
0021     s->addBeam(Qt::green);
0022     s->addBeam(Qt::red);
0023     s->addBeam(Qt::yellow);
0024     s->show();
0025     s->setMaxAxisTextWidth(5);
0026     s->resize(1000, 500);
0027     QVERIFY(QTest::qWaitForWindowExposed(s));
0028 
0029     auto *generator = QRandomGenerator::global();
0030     QBENCHMARK {
0031         s->addSample(QList<qreal>() << generator->bounded(10) << generator->bounded(10) << generator->bounded(10) << generator->bounded(10));
0032         qApp->processEvents();
0033     }
0034 }
0035 void BenchmarkSignalPlotter::stackedData()
0036 {
0037     s->addBeam(Qt::blue);
0038     s->addBeam(Qt::green);
0039     s->addBeam(Qt::red);
0040     s->addBeam(Qt::yellow);
0041     s->setStackGraph(true);
0042     s->show();
0043     s->setMaxAxisTextWidth(5);
0044     s->resize(1000, 500);
0045     QVERIFY(QTest::qWaitForWindowExposed(s));
0046 
0047     auto *generator = QRandomGenerator::global();
0048     QBENCHMARK {
0049         s->addSample(QList<qreal>() << generator->bounded(10) << generator->bounded(10) << generator->bounded(10) << generator->bounded(10));
0050         qApp->processEvents();
0051     }
0052 }
0053 void BenchmarkSignalPlotter::addDataWhenHidden()
0054 {
0055     s->addBeam(Qt::blue);
0056     s->addBeam(Qt::green);
0057     s->addBeam(Qt::red);
0058     s->addBeam(Qt::yellow);
0059 
0060     auto *generator = QRandomGenerator::global();
0061     QBENCHMARK {
0062         s->addSample(QList<qreal>() << generator->bounded(10) << generator->bounded(10) << generator->bounded(10) << generator->bounded(10));
0063         qApp->processEvents();
0064     }
0065 }
0066 
0067 QTEST_MAIN(BenchmarkSignalPlotter)