diff options
Diffstat (limited to 'tests/amounts.h')
-rw-r--r-- | tests/amounts.h | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/tests/amounts.h b/tests/amounts.h deleted file mode 100644 index a72e57d2..00000000 --- a/tests/amounts.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef __TESTAMOUNT_H -#define __TESTAMOUNT_H - -#include <cxxtest/TestSuite.h> - -#include <amount.h> - -using namespace ledger; - -class TestAmount : public CxxTest::TestSuite -{ -public: - void testCreateAmountWithoutCommodityFromInteger() - { - amount_t a((long int)42); - TS_ASSERT_EQUALS("", a.commodity().symbol()); - TS_ASSERT_EQUALS("", a.commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a.quantity_string()); - } - - void testCreateAmountWithoutCommodity() - { - amount_t a("42"); - TS_ASSERT_EQUALS("", a.commodity().symbol()); - TS_ASSERT_EQUALS("", a.commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a.quantity_string()); - } - - void testCreateAmountWithPrefixCommodity() - { - amount_t *a; - a = new amount_t("$ 42"); - TS_ASSERT_EQUALS("$", a->commodity().symbol()); - TS_ASSERT_EQUALS("$", a->commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a->quantity_string()); - } - - void testCreateAmountWithPostfixCommodity() - { - amount_t *a; - a = new amount_t("42 GLD"); - TS_ASSERT_EQUALS("GLD", a->commodity().symbol()); - TS_ASSERT_EQUALS("GLD", a->commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a->quantity_string()); - } - - void testCreateAmountWithPrefixCommodityContainingSpace() - { - amount_t *a; - a = new amount_t("\"one dollar\" 42"); - TS_ASSERT_EQUALS("\"one dollar\"", a->commodity().symbol()); - TS_ASSERT_EQUALS("one dollar", a->commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a->quantity_string()); - } - - void testCreateAmountWithPostfixCommodityContainingSpace() - { - amount_t *a; - a = new amount_t("42 \"swedish crowns\""); - TS_ASSERT_EQUALS("\"swedish crowns\"", a->commodity().symbol()); - TS_ASSERT_EQUALS("swedish crowns", a->commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a->quantity_string()); - } - - void testCreateAmountWithDirectPrefixCommodity() - { - amount_t *a; - a = new amount_t("$42"); - TS_ASSERT_EQUALS("$", a->commodity().symbol()); - TS_ASSERT_EQUALS("$", a->commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a->quantity_string()); - } - - void testCreateAmountWithDirectPostfixCommodity() - { - amount_t *a; - a = new amount_t("42GLD"); - TS_ASSERT_EQUALS("GLD", a->commodity().symbol()); - TS_ASSERT_EQUALS("GLD", a->commodity().base_symbol()); - TS_ASSERT_EQUALS("42", a->quantity_string()); - } - - void testCannotCreateAmountWithoutQuantity() - { - TS_ASSERT_THROWS(new amount_t("$"), amount_error*); - } - - void testCreateBiiigIntegerAmount() - { - amount_t a("12345678901234567890123456789012345678901234567890"); - TS_ASSERT_EQUALS("12345678901234567890123456789012345678901234567890", - a.quantity_string()); - } - - void testCreateBiiigDecimalAmount() - { - amount_t a("12345678.901234567890123456789012345678901234567890"); - TS_ASSERT_EQUALS("12345678.901234567890123456789012345678901234567890", - a.quantity_string()); - } - - void testCreateCommodityAnnotatedWithEntry() - { - amount_t a("10 AAPL (entry 6)"); - TS_ASSERT_EQUALS("10", a.quantity_string()); - commodity_t c = a.commodity(); - TS_ASSERT_EQUALS("AAPL", c.symbol()); - TS_ASSERT_EQUALS("AAPL", c.base_symbol()); - TS_ASSERT(c.annotated); - //TODO: check entry annotation - } - - void testCreateCommodityAnnotatedWithEntry2() - { - amount_t *a = new amount_t("10 AAPL (entry 6)"); - TS_ASSERT_EQUALS("10", a->quantity_string()); - commodity_t c = a->commodity(); - TS_ASSERT_EQUALS("AAPL", c.symbol()); - TS_ASSERT_EQUALS("AAPL", c.base_symbol()); - TS_ASSERT(c.annotated); - //TODO: check entry annotation - } - - void testAddTwoAmountsWithoutCommodity() - { - amount_t a("6"); - amount_t b("9"); - TS_ASSERT_EQUALS(* new amount_t((long int)15), a+b); - } - - void testAddTwoAmountsWithSameCommodity() - { - amount_t a("$ 6"); - amount_t b("$ 9"); - TS_ASSERT_EQUALS(* new amount_t("$ 15"), a+b); - } - - void testCannotAddTwoAmountsWithDifferentCommodities() - { - amount_t a("$ 6"); - amount_t b("9 GLD"); - TS_ASSERT_THROWS(a+b, amount_error*); - } - - void testCompareTwoAmountsWithSameCommodity() - { - amount_t a("6 SCOX"); - amount_t b("9 SCOX"); - TS_ASSERT(a < b); - TS_ASSERT(a <= b); - TS_ASSERT(!(a > b)); - TS_ASSERT(!(a >= b)); - TS_ASSERT(!(a == b)); - } - - void testCannotCompareTwoAmountsWithDifferentCommodities() - { - amount_t a("$ 6"); - amount_t b("9 GLD"); - - TS_ASSERT_THROWS(a < b, amount_error*); - TS_ASSERT_THROWS(a <= b, amount_error*); - TS_ASSERT_THROWS(a > b, amount_error*); - TS_ASSERT_THROWS(a >= b, amount_error*); - TS_ASSERT(!(a == b)); - } -}; - -#endif // __TESTAMOUNT_H |