add tests for project
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
#include <QCoreApplication>
|
||||
#include <QtTest>
|
||||
|
||||
#include "data/accservice.h"
|
||||
|
||||
class ServicesTests : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private slots:
|
||||
void defaultsMatchExpectedInitialState()
|
||||
{
|
||||
AccService service;
|
||||
|
||||
QCOMPARE(service.price().toDouble(), 0.0);
|
||||
QVERIFY(service.active());
|
||||
QVERIFY(!service.salePossible());
|
||||
QCOMPARE(service.serviceType(), AccService::OTHER);
|
||||
QCOMPARE(service.vatType(), Enums::NONE);
|
||||
}
|
||||
|
||||
void priceRoundTripUsesFixedPointStorage()
|
||||
{
|
||||
AccService service;
|
||||
|
||||
service.setPrice(QDecDouble(19.9));
|
||||
|
||||
QVERIFY(qAbs(service.price().toDouble() - 19.9) < 0.0001);
|
||||
}
|
||||
|
||||
void priceRoundTripHandlesWholeAmounts()
|
||||
{
|
||||
AccService service;
|
||||
|
||||
service.setPrice(QDecDouble(250));
|
||||
|
||||
QCOMPARE(service.price().toDouble(), 250.0);
|
||||
}
|
||||
|
||||
void basicPropertiesRoundTrip()
|
||||
{
|
||||
AccService service;
|
||||
|
||||
service.setAccServiceName(QStringLiteral("Ubytování"));
|
||||
service.setAccServiceCode(QStringLiteral("UB-1"));
|
||||
service.setActive(false);
|
||||
service.setSalePossible(true);
|
||||
service.setServiceType(AccService::TENT);
|
||||
service.setVatType(Enums::FIRST_LOWER);
|
||||
|
||||
QCOMPARE(service.accServiceName(), QStringLiteral("Ubytování"));
|
||||
QCOMPARE(service.accServiceCode(), QStringLiteral("UB-1"));
|
||||
QVERIFY(!service.active());
|
||||
QVERIFY(service.salePossible());
|
||||
QCOMPARE(service.serviceType(), AccService::TENT);
|
||||
QCOMPARE(service.vatType(), Enums::FIRST_LOWER);
|
||||
}
|
||||
};
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication app(argc, argv);
|
||||
ServicesTests tests;
|
||||
return QTest::qExec(&tests, argc, argv);
|
||||
}
|
||||
|
||||
#include "services_tests.moc"
|
||||
Reference in New Issue
Block a user