File indexing completed on 2024-06-16 04:45:53

0001 /*
0002     SPDX-FileCopyrightText: 2005-2011 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "mymoneyprice-test.h"
0007 
0008 #include <QTest>
0009 
0010 #include "mymoneyexception.h"
0011 #include "mymoneymoney.h"
0012 
0013 QTEST_GUILESS_MAIN(MyMoneyPriceTest)
0014 
0015 void MyMoneyPriceTest::init()
0016 {
0017     m = new MyMoneyPrice();
0018 }
0019 
0020 void MyMoneyPriceTest::cleanup()
0021 {
0022     delete m;
0023 }
0024 
0025 void MyMoneyPriceTest::testDefaultConstructor()
0026 {
0027     QVERIFY(m->isValid() == false);
0028 }
0029 
0030 void MyMoneyPriceTest::testConstructor()
0031 {
0032     MyMoneyPrice n(QString("from"), QString("to"), QDate(2005, 9, 23), MyMoneyMoney(1, 3),  QString("MySource"));
0033 
0034     QVERIFY(n.isValid() == true);
0035     QVERIFY(n.from() == QString("from"));
0036     QVERIFY(n.to() == QString("to"));
0037     QVERIFY(n.date() == QDate(2005, 9, 23));
0038     QVERIFY(n.source() == QString("MySource"));
0039     QVERIFY(n.rate("to") == MyMoneyMoney(1, 3));
0040 }
0041 
0042 void MyMoneyPriceTest::testValidity()
0043 {
0044     QString emptyId;
0045     MyMoneyPrice n1(emptyId, QString("to"), QDate(2005, 9, 23), MyMoneyMoney(1, 3),  QString("MySource"));
0046     MyMoneyPrice n2(QString("from"), emptyId, QDate(2005, 9, 23), MyMoneyMoney(1, 3),  QString("MySource"));
0047     MyMoneyPrice n3(QString("from"), QString("to"), QDate(), MyMoneyMoney(1, 3),  QString("MySource"));
0048     MyMoneyPrice n4(QString("from"), QString("to"), QDate(2005, 9, 23), MyMoneyMoney(1, 3),  QString("MySource"));
0049 
0050     QVERIFY(n1.isValid() == false);
0051     QVERIFY(n2.isValid() == false);
0052     QVERIFY(n3.isValid() == false);
0053     QVERIFY(n4.isValid() == true);
0054 }
0055 
0056 void MyMoneyPriceTest::testRate()
0057 {
0058     MyMoneyPrice n1(QString("from"), QString("to"), QDate(2005, 9, 23), MyMoneyMoney(1, 3),  QString("MySource"));
0059     MyMoneyPrice n2(QString("from"), QString("to"), QDate(), MyMoneyMoney(1, 3),  QString("MySource"));
0060 
0061     try {
0062         QVERIFY(n1.rate("to") == MyMoneyMoney(1, 3));
0063         QVERIFY(n1.rate("from") == MyMoneyMoney(3, 1));
0064         QVERIFY(n1.rate(QString()) == MyMoneyMoney(1, 3));
0065 
0066         QVERIFY(n2.isValid() == false);
0067         QVERIFY(n2.rate("to") == MyMoneyMoney::ONE);
0068     } catch (const MyMoneyException &) {
0069         QFAIL("Unexpected exception");
0070     }
0071 
0072     try {
0073         n1.rate("unknown");
0074         QFAIL("Missing expected exception");
0075     } catch (const MyMoneyException &) {
0076     }
0077 }