#include #include #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"