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 }