Changeset View
Changeset View
Standalone View
Standalone View
src/test/activation_tests.cpp
Show All 17 Lines | static void SetMTP(std::array<CBlockIndex, 12> &blocks, int64_t mtp) { | ||||
for (size_t i = 0; i < len; ++i) { | for (size_t i = 0; i < len; ++i) { | ||||
blocks[i].nTime = mtp + (i - (len / 2)); | blocks[i].nTime = mtp + (i - (len / 2)); | ||||
} | } | ||||
BOOST_CHECK_EQUAL(blocks.back().GetMedianTimePast(), mtp); | BOOST_CHECK_EQUAL(blocks.back().GetMedianTimePast(), mtp); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(isgravitonenabled) { | static void testPastActivation( | ||||
const auto params = CreateChainParams(CBaseChainParams::MAIN); | std::function<bool(const Consensus::Params &, const CBlockIndex *)> func, | ||||
const auto &consensus = params->GetConsensus(); | const Consensus::Params ¶ms, int activationHeight) { | ||||
BOOST_CHECK(!func(params, nullptr)); | |||||
BOOST_CHECK(!IsGravitonEnabled(consensus, nullptr)); | |||||
std::array<CBlockIndex, 4> blocks; | std::array<CBlockIndex, 4> blocks; | ||||
blocks[0].nHeight = consensus.gravitonHeight - 2; | blocks[0].nHeight = activationHeight - 2; | ||||
for (size_t i = 1; i < blocks.size(); ++i) { | for (size_t i = 1; i < blocks.size(); ++i) { | ||||
blocks[i].pprev = &blocks[i - 1]; | blocks[i].pprev = &blocks[i - 1]; | ||||
blocks[i].nHeight = blocks[i - 1].nHeight + 1; | blocks[i].nHeight = blocks[i - 1].nHeight + 1; | ||||
} | } | ||||
BOOST_CHECK(!IsGravitonEnabled(consensus, &blocks[0])); | |||||
BOOST_CHECK(!IsGravitonEnabled(consensus, &blocks[1])); | BOOST_CHECK(!func(params, &blocks[0])); | ||||
BOOST_CHECK(IsGravitonEnabled(consensus, &blocks[2])); | BOOST_CHECK(!func(params, &blocks[1])); | ||||
BOOST_CHECK(IsGravitonEnabled(consensus, &blocks[3])); | BOOST_CHECK(func(params, &blocks[2])); | ||||
BOOST_CHECK(func(params, &blocks[3])); | |||||
} | } | ||||
BOOST_AUTO_TEST_CASE(isphononenabled) { | BOOST_AUTO_TEST_CASE(test_previous_activations_by_height) { | ||||
const Consensus::Params &consensus = Params().GetConsensus(); | const auto params = CreateChainParams(CBaseChainParams::MAIN); | ||||
BOOST_CHECK(!IsPhononEnabled(consensus, nullptr)); | const auto consensus = params->GetConsensus(); | ||||
std::array<CBlockIndex, 4> blocks; | testPastActivation(IsGravitonEnabled, consensus, consensus.gravitonHeight); | ||||
blocks[0].nHeight = consensus.phononHeight - 2; | testPastActivation(IsPhononEnabled, consensus, consensus.phononHeight); | ||||
for (size_t i = 1; i < blocks.size(); ++i) { | |||||
blocks[i].pprev = &blocks[i - 1]; | |||||
blocks[i].nHeight = blocks[i - 1].nHeight + 1; | |||||
} | |||||
BOOST_CHECK(!IsPhononEnabled(consensus, &blocks[0])); | |||||
BOOST_CHECK(!IsPhononEnabled(consensus, &blocks[1])); | |||||
BOOST_CHECK(IsPhononEnabled(consensus, &blocks[2])); | |||||
BOOST_CHECK(IsPhononEnabled(consensus, &blocks[3])); | |||||
} | } | ||||
BOOST_AUTO_TEST_CASE(isaxionenabled) { | BOOST_AUTO_TEST_CASE(isaxionenabled) { | ||||
const Consensus::Params ¶ms = Params().GetConsensus(); | const Consensus::Params ¶ms = Params().GetConsensus(); | ||||
const auto activation = | const auto activation = | ||||
gArgs.GetArg("-axionactivationtime", params.axionActivationTime); | gArgs.GetArg("-axionactivationtime", params.axionActivationTime); | ||||
SetMockTime(activation - 1000000); | SetMockTime(activation - 1000000); | ||||
Show All 19 Lines |