diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 667e53c6b..5a1f42ee6 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -45,6 +45,7 @@ test_bitcoin_SOURCES = \ DoS_tests.cpp \ getarg_tests.cpp \ key_tests.cpp \ + main_tests.cpp \ miner_tests.cpp \ mruset_tests.cpp \ multisig_tests.cpp \ diff --git a/src/test/main_tests.cpp b/src/test/main_tests.cpp new file mode 100644 index 000000000..b7f4312cd --- /dev/null +++ b/src/test/main_tests.cpp @@ -0,0 +1,20 @@ +#include "core.h" +#include "main.h" + +#include + +BOOST_AUTO_TEST_SUITE(main_tests) + +BOOST_AUTO_TEST_CASE(subsidy_limit_test) +{ + uint64_t nSum = 0; + for (int nHeight = 0; nHeight < 7000000; nHeight += 1000) { + uint64_t nSubsidy = GetBlockValue(nHeight, 0); + BOOST_CHECK(nSubsidy <= 50 * COIN); + nSum += nSubsidy * 1000; + BOOST_CHECK(MoneyRange(nSum)); + } + BOOST_CHECK(nSum == 2099999997690000ULL); +} + +BOOST_AUTO_TEST_SUITE_END()