Total money limit test

Added bounds check by @il--ya.

Updated-by: Wladimir van der Laan <laanwj@gmail.com>
This commit is contained in:
Pieter Wuille 2014-02-19 01:54:11 +01:00 committed by Wladimir J. van der Laan
parent 5c99323459
commit fecba4e269
2 changed files with 21 additions and 0 deletions

View File

@ -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 \

20
src/test/main_tests.cpp Normal file
View File

@ -0,0 +1,20 @@
#include "core.h"
#include "main.h"
#include <boost/test/unit_test.hpp>
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()