Browse Source
0.13fad13b1
[amount] Preempt issues with negative fee rates (MarcoFalke)faf756a
[amount] Make GetFee() monotonic (MarcoFalke)fab6880
[qa] Add amount tests (MarcoFalke)
Wladimir J. van der Laan
9 years ago
4 changed files with 54 additions and 7 deletions
@ -0,0 +1,42 @@
@@ -0,0 +1,42 @@
|
||||
// Copyright (c) 2016 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include "amount.h" |
||||
#include "test/test_bitcoin.h" |
||||
|
||||
#include <boost/test/unit_test.hpp> |
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(amount_tests, BasicTestingSetup) |
||||
|
||||
BOOST_AUTO_TEST_CASE(GetFeeTest) |
||||
{ |
||||
CFeeRate feeRate; |
||||
|
||||
feeRate = CFeeRate(0); |
||||
// Must always return 0
|
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(1e5), 0); |
||||
|
||||
feeRate = CFeeRate(1000); |
||||
// Must always just return the arg
|
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(1), 1); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(121), 121); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(999), 999); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(1e3), 1e3); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(9e3), 9e3); |
||||
|
||||
feeRate = CFeeRate(123); |
||||
// Truncates the result, if not integer
|
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(8), 1); // Special case: returns 1 instead of 0
|
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(9), 1); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(121), 14); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(122), 15); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(999), 122); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(1e3), 123); |
||||
BOOST_CHECK_EQUAL(feeRate.GetFee(9e3), 1107); |
||||
} |
||||
|
||||
BOOST_AUTO_TEST_SUITE_END() |
Loading…
Reference in new issue