subsurface/tests/testqPrefAnimations.cpp
jan Iversen 6c95714b9f tests: update qPrefAnimations test cases
remove include of QtTest in header, becaue it is not needed,
add include of QObject in header, so moc can generate code.
add QTest in cpp file, which replaces QtTest

Signed-off-by: Jan Iversen <jani@apache.org>
2018-07-18 10:40:08 -07:00

82 lines
1.6 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#include "testqPrefAnimations.h"
#include "core/settings/qPref.h"
#include "core/pref.h"
#include "core/qthelper.h"
#include <QDate>
#include <QTest>
void TestQPrefAnimations::initTestCase()
{
QCoreApplication::setOrganizationName("Subsurface");
QCoreApplication::setOrganizationDomain("subsurface.hohndel.org");
QCoreApplication::setApplicationName("SubsurfaceTestQPrefAnimations");
}
void TestQPrefAnimations::test_struct_get()
{
// Test struct pref -> get func.
auto tst = qPrefAnimations::instance();
prefs.animation_speed = 17;
QCOMPARE(tst->animation_speed(), prefs.animation_speed);
}
void TestQPrefAnimations::test_set_struct()
{
// Test set func -> struct pref
auto tst = qPrefAnimations::instance();
tst->set_animation_speed(27);
QCOMPARE(prefs.animation_speed, 27);
}
void TestQPrefAnimations::test_set_load_struct()
{
// test set func -> load -> struct pref
auto tst = qPrefAnimations::instance();
tst->set_animation_speed(33);
prefs.animation_speed = 17;
tst->load();
QCOMPARE(prefs.animation_speed, 33);
}
void TestQPrefAnimations::test_struct_disk()
{
// test struct prefs -> disk
auto tst = qPrefAnimations::instance();
prefs.animation_speed = 27;
tst->sync();
prefs.animation_speed = 35;
tst->load();
QCOMPARE(prefs.animation_speed, 27);
}
void TestQPrefAnimations::test_multiple()
{
// test multiple instances have the same information
prefs.animation_speed = 37;
auto tst_direct = new qPrefAnimations;
prefs.animation_speed = 25;
auto tst = qPrefAnimations::instance();
QCOMPARE(tst->animation_speed(), tst_direct->animation_speed());
}
QTEST_MAIN(TestQPrefAnimations)