blob: dfa96821acc4c04c6e13028cc7c8270d6d0dc7da (
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
|
#define BOOST_TEST_DYN_LINK
//#define BOOST_TEST_MODULE balance
#include <boost/test/unit_test.hpp>
#include <system.hh>
#include "balance.h"
using namespace ledger;
struct balance_fixture {
balance_fixture() {
times_initialize();
amount_t::initialize();
// Cause the display precision for dollars to be initialized to 2.
amount_t x1("$1.00");
BOOST_CHECK(x1);
amount_t::stream_fullstrings = true; // make reports from UnitTests accurate
}
~balance_fixture()
{
amount_t::stream_fullstrings = false;
amount_t::shutdown();
times_shutdown();
}
};
BOOST_FIXTURE_TEST_SUITE(balance, balance_fixture)
BOOST_AUTO_TEST_CASE(testConstructors)
{
balance_t b0;
balance_t b1(1.00);
balance_t b2(12345UL);
balance_t b3(123456L);
BOOST_CHECK_EQUAL(balance_t(), b0);
BOOST_CHECK_NE(balance_t("0"), b0);
BOOST_CHECK_NE(balance_t("0.0"), b0);
BOOST_CHECK_EQUAL(balance_t(12345UL), 12345UL);
BOOST_CHECK_EQUAL(balance_t(123456L), 123456L);
BOOST_CHECK(b0.valid());
BOOST_CHECK(b1.valid());
BOOST_CHECK(b2.valid());
BOOST_CHECK(b3.valid());
}
BOOST_AUTO_TEST_SUITE_END()
|