[test] Unit test amount.h/amount.cpp
Add tests for MoneyRange, binary operators, ToString and a constructor
This commit is contained in:
parent
e0a7e1994e
commit
dcb69fde5a
1 changed files with 37 additions and 1 deletions
|
@ -9,9 +9,16 @@
|
||||||
|
|
||||||
BOOST_FIXTURE_TEST_SUITE(amount_tests, BasicTestingSetup)
|
BOOST_FIXTURE_TEST_SUITE(amount_tests, BasicTestingSetup)
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(MoneyRangeTest)
|
||||||
|
{
|
||||||
|
BOOST_CHECK_EQUAL(MoneyRange(CAmount(-1)), false);
|
||||||
|
BOOST_CHECK_EQUAL(MoneyRange(MAX_MONEY + CAmount(1)), false);
|
||||||
|
BOOST_CHECK_EQUAL(MoneyRange(CAmount(1)), true);
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(GetFeeTest)
|
BOOST_AUTO_TEST_CASE(GetFeeTest)
|
||||||
{
|
{
|
||||||
CFeeRate feeRate;
|
CFeeRate feeRate, altFeeRate;
|
||||||
|
|
||||||
feeRate = CFeeRate(0);
|
feeRate = CFeeRate(0);
|
||||||
// Must always return 0
|
// Must always return 0
|
||||||
|
@ -53,6 +60,11 @@ BOOST_AUTO_TEST_CASE(GetFeeTest)
|
||||||
BOOST_CHECK_EQUAL(feeRate.GetFee(8), -1); // Special case: returns -1 instead of 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(9), -1);
|
||||||
|
|
||||||
|
// check alternate constructor
|
||||||
|
feeRate = CFeeRate(1000);
|
||||||
|
altFeeRate = CFeeRate(feeRate);
|
||||||
|
BOOST_CHECK_EQUAL(feeRate.GetFee(100), altFeeRate.GetFee(100));
|
||||||
|
|
||||||
// Check full constructor
|
// Check full constructor
|
||||||
// default value
|
// default value
|
||||||
BOOST_CHECK(CFeeRate(CAmount(-1), 1000) == CFeeRate(-1));
|
BOOST_CHECK(CFeeRate(CAmount(-1), 1000) == CFeeRate(-1));
|
||||||
|
@ -68,4 +80,28 @@ BOOST_AUTO_TEST_CASE(GetFeeTest)
|
||||||
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_CASE(BinaryOperatorTest)
|
||||||
|
{
|
||||||
|
CFeeRate a, b;
|
||||||
|
a = CFeeRate(1);
|
||||||
|
b = CFeeRate(2);
|
||||||
|
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);
|
||||||
|
BOOST_CHECK_EQUAL(feeRate.ToString(), "0.00000001 BTC/kB");
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
|
Loading…
Reference in a new issue