Skip to content

Commit fab6880

Browse files
author
MarcoFalke
committed
[qa] Add amount tests
1 parent 14d6324 commit fab6880

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

src/Makefile.test.include

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ BITCOIN_TESTS =\
3838
test/scriptnum10.h \
3939
test/addrman_tests.cpp \
4040
test/alert_tests.cpp \
41+
test/amount_tests.cpp \
4142
test/allocator_tests.cpp \
4243
test/base32_tests.cpp \
4344
test/base58_tests.cpp \

src/test/amount_tests.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) 2016 The Bitcoin Core developers
2+
// Distributed under the MIT software license, see the accompanying
3+
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4+
5+
#include "amount.h"
6+
#include "test/test_bitcoin.h"
7+
8+
#include <boost/test/unit_test.hpp>
9+
10+
BOOST_FIXTURE_TEST_SUITE(amount_tests, BasicTestingSetup)
11+
12+
BOOST_AUTO_TEST_CASE(GetFeeTest)
13+
{
14+
CFeeRate feeRate;
15+
16+
feeRate = CFeeRate(0);
17+
// Must always return 0
18+
BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0);
19+
BOOST_CHECK_EQUAL(feeRate.GetFee(1e5), 0);
20+
21+
feeRate = CFeeRate(1000);
22+
// Must always just return the arg
23+
BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0);
24+
BOOST_CHECK_EQUAL(feeRate.GetFee(1), 1);
25+
BOOST_CHECK_EQUAL(feeRate.GetFee(121), 121);
26+
BOOST_CHECK_EQUAL(feeRate.GetFee(999), 999);
27+
BOOST_CHECK_EQUAL(feeRate.GetFee(1e3), 1e3);
28+
BOOST_CHECK_EQUAL(feeRate.GetFee(9e3), 9e3);
29+
30+
feeRate = CFeeRate(123);
31+
// Truncates the result, if not integer
32+
BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0);
33+
BOOST_CHECK_EQUAL(feeRate.GetFee(8), 1); // Special case: returns 1 instead of 0
34+
BOOST_CHECK_EQUAL(feeRate.GetFee(9), 1);
35+
BOOST_CHECK_EQUAL(feeRate.GetFee(121), 14);
36+
BOOST_CHECK_EQUAL(feeRate.GetFee(122), 15);
37+
BOOST_CHECK_EQUAL(feeRate.GetFee(999), 122);
38+
BOOST_CHECK_EQUAL(feeRate.GetFee(1e3), 123);
39+
BOOST_CHECK_EQUAL(feeRate.GetFee(9e3), 1107);
40+
}
41+
42+
BOOST_AUTO_TEST_SUITE_END()

0 commit comments

Comments
 (0)