Skip to content

Commit fabf3d6

Browse files
author
MarcoFalke
committed
test: Add FeeFilterRounder test
1 parent 5f72ddb commit fabf3d6

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/Makefile.test.include

+1
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ BITCOIN_TESTS =\
231231
test/net_tests.cpp \
232232
test/netbase_tests.cpp \
233233
test/pmt_tests.cpp \
234+
test/policy_fee_tests.cpp \
234235
test/policyestimator_tests.cpp \
235236
test/pow_tests.cpp \
236237
test/prevector_tests.cpp \

src/test/policy_fee_tests.cpp

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright (c) 2020 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 <policy/fees.h>
7+
8+
#include <test/util/setup_common.h>
9+
10+
#include <boost/test/unit_test.hpp>
11+
12+
BOOST_FIXTURE_TEST_SUITE(policy_fee_tests, BasicTestingSetup)
13+
14+
BOOST_AUTO_TEST_CASE(FeeRounder)
15+
{
16+
FeeFilterRounder fee_rounder{CFeeRate{1000}};
17+
18+
// check that 1000 rounds to 974 or 1071
19+
std::set<CAmount> results;
20+
while (results.size() < 2) {
21+
results.emplace(fee_rounder.round(1000));
22+
}
23+
BOOST_CHECK_EQUAL(*results.begin(), 974);
24+
BOOST_CHECK_EQUAL(*++results.begin(), 1071);
25+
26+
// check that negative amounts rounds to 0
27+
BOOST_CHECK_EQUAL(fee_rounder.round(-0), 0);
28+
BOOST_CHECK_EQUAL(fee_rounder.round(-1), 0);
29+
30+
// check that MAX_MONEY rounds to 9170997
31+
BOOST_CHECK_EQUAL(fee_rounder.round(MAX_MONEY), 9170997);
32+
}
33+
34+
BOOST_AUTO_TEST_SUITE_END()

0 commit comments

Comments
 (0)