You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kmymoney/kmymoney2/mymoney/mymoneypricetest.cpp

91 lines
3.0 KiB

/***************************************************************************
mymoneypricetest.cpp
-------------------
copyright : (C) 2005 by Thomas Baumgart
email : ipwizard@users.sourceforge.net
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "mymoneypricetest.h"
#include "mymoneyexception.h"
MyMoneyPriceTest::MyMoneyPriceTest()
{
}
void MyMoneyPriceTest::setUp()
{
m = new MyMoneyPrice();
}
void MyMoneyPriceTest::tearDown()
{
delete m;
}
void MyMoneyPriceTest::testDefaultConstructor()
{
CPPUNIT_ASSERT(m->isValid() == false);
}
void MyMoneyPriceTest::testConstructor()
{
MyMoneyPrice n(TQString("from"), TQString("to"), TQDate(2005,9,23), MyMoneyMoney(1,3), TQString("MySource"));
CPPUNIT_ASSERT(n.isValid() == true);
CPPUNIT_ASSERT(n.from() == TQString("from"));
CPPUNIT_ASSERT(n.to() == TQString("to"));
CPPUNIT_ASSERT(n.date() == TQDate(2005,9,23));
CPPUNIT_ASSERT(n.source() == TQString("MySource"));
CPPUNIT_ASSERT(n.rate("to") == MyMoneyMoney(1,3));
}
void MyMoneyPriceTest::testValidity()
{
TQString emptyId;
MyMoneyPrice n1(emptyId, TQString("to"), TQDate(2005,9,23), MyMoneyMoney(1,3), TQString("MySource"));
MyMoneyPrice n2(TQString("from"), emptyId, TQDate(2005,9,23), MyMoneyMoney(1,3), TQString("MySource"));
MyMoneyPrice n3(TQString("from"), TQString("to"), TQDate(), MyMoneyMoney(1,3), TQString("MySource"));
MyMoneyPrice n4(TQString("from"), TQString("to"), TQDate(2005,9,23), MyMoneyMoney(1,3), TQString("MySource"));
CPPUNIT_ASSERT(n1.isValid() == false);
CPPUNIT_ASSERT(n2.isValid() == false);
CPPUNIT_ASSERT(n3.isValid() == false);
CPPUNIT_ASSERT(n4.isValid() == true);
}
void MyMoneyPriceTest::testRate()
{
MyMoneyPrice n1(TQString("from"), TQString("to"), TQDate(2005,9,23), MyMoneyMoney(1,3), TQString("MySource"));
MyMoneyPrice n2(TQString("from"), TQString("to"), TQDate(), MyMoneyMoney(1,3), TQString("MySource"));
try {
CPPUNIT_ASSERT(n1.rate("to") == MyMoneyMoney(1,3));
CPPUNIT_ASSERT(n1.rate("from") == MyMoneyMoney(3,1));
CPPUNIT_ASSERT(n1.rate(TQString()) == MyMoneyMoney(1,3));
CPPUNIT_ASSERT(n2.isValid() == false);
CPPUNIT_ASSERT(n2.rate("to") == MyMoneyMoney(1,1));
} catch(MyMoneyException *e) {
CPPUNIT_FAIL("Unexpected exception");
delete e;
}
try {
n1.rate("unknown");
CPPUNIT_FAIL("Missing expected exception");
} catch(MyMoneyException *e) {
delete e;
}
}