Changeset View
Changeset View
Standalone View
Standalone View
src/test/feerate_tests.cpp
Show First 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(GetFeeTest) { | ||||
BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(1000), 18 * SATOSHI); | BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(1000), 18 * SATOSHI); | ||||
// Check alternate constructor | // Check alternate constructor | ||||
feeRate = CFeeRate(1000 * SATOSHI); | feeRate = CFeeRate(1000 * SATOSHI); | ||||
altFeeRate = CFeeRate(feeRate); | altFeeRate = CFeeRate(feeRate); | ||||
BOOST_CHECK_EQUAL(feeRate.GetFee(100), altFeeRate.GetFee(100)); | BOOST_CHECK_EQUAL(feeRate.GetFee(100), altFeeRate.GetFee(100)); | ||||
// Check full constructor | // Check full constructor | ||||
BOOST_CHECK(CFeeRate(-SATOSHI, 0) == CFeeRate(Amount::zero())); | |||||
BOOST_CHECK(CFeeRate(Amount::zero(), 0) == CFeeRate(Amount::zero())); | |||||
BOOST_CHECK(CFeeRate(SATOSHI, 0) == CFeeRate(Amount::zero())); | |||||
// default value | // default value | ||||
BOOST_CHECK(CFeeRate(-SATOSHI, 1000) == CFeeRate(-SATOSHI)); | BOOST_CHECK(CFeeRate(-SATOSHI, 1000) == CFeeRate(-SATOSHI)); | ||||
BOOST_CHECK(CFeeRate(Amount::zero(), 1000) == CFeeRate(Amount::zero())); | BOOST_CHECK(CFeeRate(Amount::zero(), 1000) == CFeeRate(Amount::zero())); | ||||
BOOST_CHECK(CFeeRate(SATOSHI, 1000) == CFeeRate(SATOSHI)); | BOOST_CHECK(CFeeRate(SATOSHI, 1000) == CFeeRate(SATOSHI)); | ||||
// lost precision (can only resolve satoshis per kB) | // lost precision (can only resolve satoshis per kB) | ||||
BOOST_CHECK(CFeeRate(SATOSHI, 1001) == CFeeRate(Amount::zero())); | BOOST_CHECK(CFeeRate(SATOSHI, 1001) == CFeeRate(Amount::zero())); | ||||
BOOST_CHECK(CFeeRate(2 * SATOSHI, 1001) == CFeeRate(SATOSHI)); | BOOST_CHECK(CFeeRate(2 * SATOSHI, 1001) == CFeeRate(SATOSHI)); | ||||
// some more integer checks | // some more integer checks | ||||
BOOST_CHECK(CFeeRate(26 * SATOSHI, 789) == CFeeRate(32 * SATOSHI)); | BOOST_CHECK(CFeeRate(26 * SATOSHI, 789) == CFeeRate(32 * SATOSHI)); | ||||
BOOST_CHECK(CFeeRate(27 * SATOSHI, 789) == CFeeRate(34 * SATOSHI)); | BOOST_CHECK(CFeeRate(27 * SATOSHI, 789) == CFeeRate(34 * SATOSHI)); | ||||
// Maximum size in bytes, should not crash | // Maximum size in bytes, should not crash | ||||
CFeeRate(MAX_MONEY, std::numeric_limits<size_t>::max() >> 1).GetFeePerK(); | CFeeRate(MAX_MONEY, std::numeric_limits<size_t>::max() >> 1).GetFeePerK(); | ||||
} | } | ||||
BOOST_AUTO_TEST_SUITE_END() | BOOST_AUTO_TEST_SUITE_END() |