diff --git a/src/test/amount_tests.cpp b/src/test/amount_tests.cpp --- a/src/test/amount_tests.cpp +++ b/src/test/amount_tests.cpp @@ -104,8 +104,10 @@ BOOST_AUTO_TEST_CASE(MoneyRangeTest) { BOOST_CHECK_EQUAL(MoneyRange(Amount(-1 * SATOSHI)), false); - BOOST_CHECK_EQUAL(MoneyRange(MAX_MONEY + Amount(1 * SATOSHI)), false); + BOOST_CHECK_EQUAL(MoneyRange(Amount::zero()), true); BOOST_CHECK_EQUAL(MoneyRange(Amount(1 * SATOSHI)), true); + BOOST_CHECK_EQUAL(MoneyRange(MAX_MONEY), true); + BOOST_CHECK_EQUAL(MoneyRange(MAX_MONEY + Amount(1 * SATOSHI)), false); } BOOST_AUTO_TEST_CASE(BinaryOperatorTest) { diff --git a/src/test/feerate_tests.cpp b/src/test/feerate_tests.cpp --- a/src/test/feerate_tests.cpp +++ b/src/test/feerate_tests.cpp @@ -23,20 +23,20 @@ feeRate = CFeeRate(1000 * SATOSHI); // Must always just return the arg BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount::zero()); - BOOST_CHECK_EQUAL(feeRate.GetFee(1), SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(121), 121 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(999), 999 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(1000), 1000 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(9000), 9000 * SATOSHI); + BOOST_CHECK_EQUAL(feeRate.GetFee(1), Amount(SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(121), Amount(121 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(999), Amount(999 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1000), Amount(1000 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9000), Amount(9000 * SATOSHI)); feeRate = CFeeRate(-1000 * SATOSHI); // Must always just return -1 * arg BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount::zero()); - BOOST_CHECK_EQUAL(feeRate.GetFee(1), -SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(121), -121 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(999), -999 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(1000), -1000 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(9000), -9000 * SATOSHI); + BOOST_CHECK_EQUAL(feeRate.GetFee(1), Amount(-SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(121), Amount(-121 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(999), Amount(-999 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1000), Amount(-1000 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9000), Amount(-9000 * SATOSHI)); feeRate = CFeeRate(123 * SATOSHI); // Truncates the result, if not integer @@ -44,26 +44,26 @@ // Special case: returns 1 instead of 0 BOOST_CHECK_EQUAL(feeRate.GetFee(8), SATOSHI); BOOST_CHECK_EQUAL(feeRate.GetFee(9), SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(121), 14 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(122), 15 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(999), 122 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(1000), 123 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(9000), 1107 * SATOSHI); + BOOST_CHECK_EQUAL(feeRate.GetFee(121), Amount(14 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(122), Amount(15 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(999), Amount(122 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1000), Amount(123 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9000), Amount(1107 * SATOSHI)); feeRate = CFeeRate(-123 * SATOSHI); // Truncates the result, if not integer BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount::zero()); // Special case: returns -1 instead of 0 - BOOST_CHECK_EQUAL(feeRate.GetFee(8), -SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFee(9), -SATOSHI); + BOOST_CHECK_EQUAL(feeRate.GetFee(8), Amount(-SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9), Amount(-SATOSHI)); // Check ceiling results feeRate = CFeeRate(18 * SATOSHI); // Truncates the result, if not integer BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(0), Amount::zero()); - BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(100), 2 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(200), 4 * SATOSHI); - BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(1000), 18 * SATOSHI); + BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(100), Amount(2 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(200), Amount(4 * SATOSHI)); + BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(1000), Amount(18 * SATOSHI)); // Check alternate constructor feeRate = CFeeRate(1000 * SATOSHI); @@ -71,6 +71,9 @@ BOOST_CHECK_EQUAL(feeRate.GetFee(100), altFeeRate.GetFee(100)); // 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 BOOST_CHECK(CFeeRate(-SATOSHI, 1000) == CFeeRate(-SATOSHI)); BOOST_CHECK(CFeeRate(Amount::zero(), 1000) == CFeeRate(Amount::zero()));