Add test comparing GetDifficulty() with GetNetworkDifficulty()
This commit is contained in:
parent
695a7a8826
commit
00939d09ba
|
@ -6,9 +6,37 @@
|
|||
#include "chainparams.h"
|
||||
#include "clientversion.h"
|
||||
#include "primitives/block.h"
|
||||
#include "rpcserver.h"
|
||||
#include "streams.h"
|
||||
#include "utilstrencodings.h"
|
||||
|
||||
TEST(rpc, GetDifficultyTestnetRules) {
|
||||
SelectParams(CBaseChainParams::TESTNET);
|
||||
|
||||
CBlockIndex prev;
|
||||
prev.nTime = 1472700000;
|
||||
prev.nBits = 0x201fffff;
|
||||
|
||||
CBlockIndex curr;
|
||||
curr.pprev = &prev;
|
||||
curr.nTime = 1472700300;
|
||||
curr.nBits = 0x207fffff;
|
||||
|
||||
// Time interval is within 5 minutes, so the min-difficulty block should be
|
||||
// interpreted as a valid network difficulty.
|
||||
EXPECT_EQ(1, GetDifficulty(&curr));
|
||||
EXPECT_EQ(1, GetNetworkDifficulty(&curr));
|
||||
|
||||
curr.nTime += 1;
|
||||
|
||||
// Time interval is over 5 minutes, so the min-difficulty block should be
|
||||
// ignored for network difficulty determination.
|
||||
EXPECT_EQ(1, GetDifficulty(&curr));
|
||||
// We have to check this directly, because of some combination of rounding
|
||||
// and truncation issues that result in Google Test displaying 4 != 4
|
||||
EXPECT_EQ((double)0x7fffff/(double)0x1fffff, GetNetworkDifficulty(&curr));
|
||||
}
|
||||
|
||||
extern json_spirit::Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool txDetails = false);
|
||||
|
||||
TEST(rpc, check_blockToJSON_returns_minified_solution) {
|
||||
|
|
Loading…
Reference in New Issue