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 @@ -102,4 +102,32 @@ BOOST_CHECK_EQUAL(COIN - 2 * COIN, -1 * COIN); } +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(1 * SATOSHI)), true); +} + +BOOST_AUTO_TEST_CASE(BinaryOperatorTest) { + CFeeRate a, b; + a = CFeeRate(1 * SATOSHI); + b = CFeeRate(2 * SATOSHI); + BOOST_CHECK(a < b); + BOOST_CHECK(b > a); + BOOST_CHECK(a == a); + BOOST_CHECK(a <= b); + BOOST_CHECK(a <= a); + BOOST_CHECK(b >= a); + BOOST_CHECK(b >= b); + // a should be 0.00000002 BTC/kB now + a += a; + BOOST_CHECK(a == b); +} + +BOOST_AUTO_TEST_CASE(ToStringTest) { + CFeeRate feeRate; + feeRate = CFeeRate(1 * SATOSHI); + BOOST_CHECK_EQUAL(feeRate.ToString(), "0.00000001 BCH/kB"); +} + BOOST_AUTO_TEST_SUITE_END() 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 @@ -13,7 +13,7 @@ BOOST_FIXTURE_TEST_SUITE(feerate_tests, BasicTestingSetup) BOOST_AUTO_TEST_CASE(GetFeeTest) { - CFeeRate feeRate; + CFeeRate feeRate, altFeeRate; feeRate = CFeeRate(Amount::zero()); // Must always return 0 @@ -65,6 +65,11 @@ BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(200), 4 * SATOSHI); BOOST_CHECK_EQUAL(feeRate.GetFeeCeiling(1000), 18 * SATOSHI); + // Check alternate constructor + feeRate = CFeeRate(1000 * SATOSHI); + altFeeRate = CFeeRate(feeRate); + BOOST_CHECK_EQUAL(feeRate.GetFee(100), altFeeRate.GetFee(100)); + // Check full constructor // default value BOOST_CHECK(CFeeRate(-SATOSHI, 1000) == CFeeRate(-SATOSHI));