Changeset View
Changeset View
Standalone View
Standalone View
src/test/main_tests.cpp
Show All 11 Lines | |||||
#include <boost/test/unit_test.hpp> | #include <boost/test/unit_test.hpp> | ||||
BOOST_FIXTURE_TEST_SUITE(main_tests, TestingSetup) | BOOST_FIXTURE_TEST_SUITE(main_tests, TestingSetup) | ||||
static void TestBlockSubsidyHalvings(const Consensus::Params &consensusParams) { | static void TestBlockSubsidyHalvings(const Consensus::Params &consensusParams) { | ||||
int maxHalvings = 64; | int maxHalvings = 64; | ||||
CAmount nInitialSubsidy = 50 * COIN; | CAmount nInitialSubsidy = 50 * COIN; | ||||
CAmount nPreviousSubsidy = nInitialSubsidy * 2; // for height == 0 | CAmount nPreviousSubsidy = 2 * nInitialSubsidy; // for height == 0 | ||||
BOOST_CHECK_EQUAL(nPreviousSubsidy, nInitialSubsidy * 2); | BOOST_CHECK_EQUAL(nPreviousSubsidy, 2 * nInitialSubsidy); | ||||
for (int nHalvings = 0; nHalvings < maxHalvings; nHalvings++) { | for (int nHalvings = 0; nHalvings < maxHalvings; nHalvings++) { | ||||
int nHeight = nHalvings * consensusParams.nSubsidyHalvingInterval; | int nHeight = nHalvings * consensusParams.nSubsidyHalvingInterval; | ||||
CAmount nSubsidy = GetBlockSubsidy(nHeight, consensusParams); | CAmount nSubsidy = GetBlockSubsidy(nHeight, consensusParams); | ||||
BOOST_CHECK(nSubsidy <= nInitialSubsidy); | BOOST_CHECK(nSubsidy <= nInitialSubsidy); | ||||
BOOST_CHECK_EQUAL(nSubsidy, nPreviousSubsidy / 2); | BOOST_CHECK_EQUAL(nSubsidy, nPreviousSubsidy / 2); | ||||
nPreviousSubsidy = nSubsidy; | nPreviousSubsidy = nSubsidy; | ||||
} | } | ||||
BOOST_CHECK_EQUAL( | BOOST_CHECK_EQUAL( | ||||
Show All 17 Lines | |||||
BOOST_AUTO_TEST_CASE(subsidy_limit_test) { | BOOST_AUTO_TEST_CASE(subsidy_limit_test) { | ||||
const Consensus::Params &consensusParams = | const Consensus::Params &consensusParams = | ||||
Params(CBaseChainParams::MAIN).GetConsensus(); | Params(CBaseChainParams::MAIN).GetConsensus(); | ||||
CAmount nSum = 0; | CAmount nSum = 0; | ||||
for (int nHeight = 0; nHeight < 14000000; nHeight += 1000) { | for (int nHeight = 0; nHeight < 14000000; nHeight += 1000) { | ||||
CAmount nSubsidy = GetBlockSubsidy(nHeight, consensusParams); | CAmount nSubsidy = GetBlockSubsidy(nHeight, consensusParams); | ||||
BOOST_CHECK(nSubsidy <= 50 * COIN); | BOOST_CHECK(nSubsidy <= 50 * COIN); | ||||
nSum += nSubsidy * 1000; | nSum += 1000 * nSubsidy; | ||||
BOOST_CHECK(MoneyRange(nSum)); | BOOST_CHECK(MoneyRange(nSum)); | ||||
} | } | ||||
BOOST_CHECK_EQUAL(nSum, 2099999997690000ULL); | BOOST_CHECK_EQUAL(nSum, 2099999997690000ULL); | ||||
} | } | ||||
bool ReturnFalse() { | bool ReturnFalse() { | ||||
return false; | return false; | ||||
} | } | ||||
Show All 17 Lines |