@ -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 ( )