kde-workspace/libs/ksysguard/tests/graphicssignalplotterbenchmark.cpp
Ivailo Monev a3bc9cf437 generic: make use of the new KRandom::randomMax() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-26 11:55:36 +03:00

59 lines
1.4 KiB
C++

#include "graphicssignalplotterbenchmark.h"
#include "../../../libs/ksysguard/signalplotter/kgraphicssignalplotter.h"
#include <qtest_kde.h>
#include <KRandom>
#include <QtTest>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <limits>
void BenchmarkGraphicsSignalPlotter::init()
{
scene = new QGraphicsScene;
view = new QGraphicsView(scene);
s = new KGraphicsSignalPlotter;
scene->addItem(s);
}
void BenchmarkGraphicsSignalPlotter::cleanup()
{
delete view;
delete scene;
}
void BenchmarkGraphicsSignalPlotter::addData()
{
s->addBeam(Qt::blue);
s->addBeam(Qt::green);
s->addBeam(Qt::red);
s->addBeam(Qt::yellow);
s->resize(1000,500);
view->resize(1010,510);
view->show();
s->setMaxAxisTextWidth(5);
QTest::qWaitForWindowShown(view);
QBENCHMARK {
s->addSample(QList<qreal>() << KRandom::randomMax(10) << KRandom::randomMax(10) << KRandom::randomMax(10) << KRandom::randomMax(10));
qApp->processEvents();
}
}
void BenchmarkGraphicsSignalPlotter::addDataWhenHidden()
{
s->addBeam(Qt::blue);
s->addBeam(Qt::green);
s->addBeam(Qt::red);
s->addBeam(Qt::yellow);
QBENCHMARK {
s->addSample(QList<qreal>() << KRandom::randomMax(10) << KRandom::randomMax(10) << KRandom::randomMax(10) << KRandom::randomMax(10));
qApp->processEvents();
}
}
QTEST_KDEMAIN(BenchmarkGraphicsSignalPlotter, GUI)