summaryrefslogtreecommitdiff
path: root/test/unit/t_amount.h
blob: 2d5a327afff58973c671cb153de618b49a025488 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#ifndef _T_AMOUNT_H
#define _T_AMOUNT_H

#include "UnitTests.h"

class AmountTestCase : public CPPUNIT_NS::TestCase
{
  CPPUNIT_TEST_SUITE(AmountTestCase);

  CPPUNIT_TEST(testConstructors);
  CPPUNIT_TEST(testCommodityConstructors);
  CPPUNIT_TEST(testParser);
  CPPUNIT_TEST(testAssignment);
  CPPUNIT_TEST(testCommodityAssignment);
  CPPUNIT_TEST(testEquality);
  CPPUNIT_TEST(testCommodityEquality);
  CPPUNIT_TEST(testComparisons);
  CPPUNIT_TEST(testCommodityComparisons);
  CPPUNIT_TEST(testIntegerAddition);
  CPPUNIT_TEST(testFractionalAddition);
  CPPUNIT_TEST(testCommodityAddition);
  CPPUNIT_TEST(testIntegerSubtraction);
  CPPUNIT_TEST(testFractionalSubtraction);
  CPPUNIT_TEST(testCommoditySubtraction);
  CPPUNIT_TEST(testIntegerMultiplication);
  CPPUNIT_TEST(testFractionalMultiplication);
  CPPUNIT_TEST(testCommodityMultiplication);
  CPPUNIT_TEST(testIntegerDivision);
  CPPUNIT_TEST(testFractionalDivision);
  CPPUNIT_TEST(testCommodityDivision);
  CPPUNIT_TEST(testNegation);
  CPPUNIT_TEST(testCommodityNegation);
  CPPUNIT_TEST(testAbs);
  CPPUNIT_TEST(testCommodityAbs);
  CPPUNIT_TEST(testFractionalRound);
  CPPUNIT_TEST(testCommodityRound);
  CPPUNIT_TEST(testCommodityDisplayRound);
  CPPUNIT_TEST(testReduction);
  CPPUNIT_TEST(testSign);
  CPPUNIT_TEST(testCommoditySign);
  CPPUNIT_TEST(testTruth);
  CPPUNIT_TEST(testCommodityTruth);
  CPPUNIT_TEST(testForZero);
  CPPUNIT_TEST(testCommodityForZero);
  CPPUNIT_TEST(testIntegerConversion);
  CPPUNIT_TEST(testFractionalConversion);
  CPPUNIT_TEST(testCommodityConversion);
  CPPUNIT_TEST(testPrinting);
  CPPUNIT_TEST(testCommodityPrinting);
  CPPUNIT_TEST(testSerialization);

  CPPUNIT_TEST_SUITE_END();

public:
  ledger::session_t session;

  AmountTestCase() {}
  virtual ~AmountTestCase() {}

  virtual void setUp();
  virtual void tearDown();

  void testConstructors();
  void testCommodityConstructors();
  void testParser();
  void testAssignment();
  void testCommodityAssignment();
  void testEquality();
  void testCommodityEquality();
  void testComparisons();
  void testCommodityComparisons();
  void testIntegerAddition();
  void testFractionalAddition();
  void testCommodityAddition();
  void testIntegerSubtraction();
  void testFractionalSubtraction();
  void testCommoditySubtraction();
  void testIntegerMultiplication();
  void testFractionalMultiplication();
  void testCommodityMultiplication();
  void testIntegerDivision();
  void testFractionalDivision();
  void testCommodityDivision();
  void testNegation();
  void testCommodityNegation();
  void testAbs();
  void testCommodityAbs();
  void testFractionalRound();
  void testCommodityRound();
  void testCommodityDisplayRound();
  void testReduction();
  void testSign();
  void testCommoditySign();
  void testTruth();
  void testCommodityTruth();
  void testForZero();
  void testCommodityForZero();
  void testIntegerConversion();
  void testFractionalConversion();
  void testCommodityConversion();
  void testPrinting();
  void testCommodityPrinting();
  void testSerialization();

private:
  AmountTestCase(const AmountTestCase &copy);
  void operator=(const AmountTestCase &copy);
};

#endif // _T_AMOUNT_H