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

0001 #include "graphicssignalplotterbenchmark.h"
0002 #include "signalplotter/kgraphicssignalplotter.h"
0003 
0004 #include <QGraphicsScene>
0005 #include <QGraphicsView>
0006 #include <QRandomGenerator>
0007 #include <QtTestGui>
0008 #include <limits>
0009 
0010 void BenchmarkGraphicsSignalPlotter::init()
0011 {
0012     scene = new QGraphicsScene;
0013     view = new QGraphicsView(scene);
0014     s = new KGraphicsSignalPlotter;
0015     scene->addItem(s);
0016 }
0017 void BenchmarkGraphicsSignalPlotter::cleanup()
0018 {
0019     delete view;
0020     delete scene;
0021 }
0022 
0023 void BenchmarkGraphicsSignalPlotter::addData()
0024 {
0025     s->addBeam(Qt::blue);
0026     s->addBeam(Qt::green);
0027     s->addBeam(Qt::red);
0028     s->addBeam(Qt::yellow);
0029     s->resize(1000, 500);
0030     view->resize(1010, 510);
0031     view->show();
0032     s->setMaxAxisTextWidth(5);
0033     QVERIFY(QTest::qWaitForWindowExposed(view));
0034 
0035     auto *generator = QRandomGenerator::global();
0036 
0037     QBENCHMARK {
0038         s->addSample(QList<qreal>() << generator->bounded(10) << generator->bounded(10) << generator->bounded(10) << generator->bounded(10));
0039         qApp->processEvents();
0040     }
0041 }
0042 
0043 void BenchmarkGraphicsSignalPlotter::addDataWhenHidden()
0044 {
0045     s->addBeam(Qt::blue);
0046     s->addBeam(Qt::green);
0047     s->addBeam(Qt::red);
0048     s->addBeam(Qt::yellow);
0049     auto *generator = QRandomGenerator::global();
0050 
0051     QBENCHMARK {
0052         s->addSample(QList<qreal>() << generator->bounded(10) << generator->bounded(10) << generator->bounded(10) << generator->bounded(10));
0053         qApp->processEvents();
0054     }
0055 }
0056 
0057 QTEST_MAIN(BenchmarkGraphicsSignalPlotter)