diff --git a/src/Makefile.test.include b/src/Makefile.test.include --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -36,6 +36,7 @@ test/bip32_tests.cpp \ test/blockcheck_tests.cpp \ test/blockencodings_tests.cpp \ + test/blockindex_tests.cpp \ test/blockstatus_tests.cpp \ test/bloom_tests.cpp \ test/bswap_tests.cpp \ diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -52,6 +52,7 @@ bip32_tests.cpp blockcheck_tests.cpp blockencodings_tests.cpp + blockindex_tests.cpp blockstatus_tests.cpp bloom_tests.cpp bswap_tests.cpp diff --git a/src/test/blockindex_tests.cpp b/src/test/blockindex_tests.cpp new file mode 100644 --- /dev/null +++ b/src/test/blockindex_tests.cpp @@ -0,0 +1,38 @@ +// Copyright (c) 2018 The Bitcoin developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "chain.h" +#include "uint256.h" + +#include "test/test_bitcoin.h" + +#include + +BOOST_FIXTURE_TEST_SUITE(blockindex_tests, BasicTestingSetup) + +BOOST_AUTO_TEST_CASE(get_block_header) { + const int32_t expectedVersion = 4; + const uint256 expectedMerkleRoot = uint256(); + const uint32_t expectedBlockTime = 123; + const uint32_t expectedDifficultyBits = 234; + const uint32_t expectedNonce = 345; + + CBlockHeader header; + header.nVersion = expectedVersion; + header.hashMerkleRoot = expectedMerkleRoot; + header.nTime = expectedBlockTime; + header.nBits = expectedDifficultyBits; + header.nNonce = expectedNonce; + + CBlockIndex index = CBlockIndex(header); + + CBlockHeader checkHeader = index.GetBlockHeader(); + BOOST_CHECK(checkHeader.nVersion == expectedVersion); + BOOST_CHECK(checkHeader.hashMerkleRoot == expectedMerkleRoot); + BOOST_CHECK(checkHeader.nTime == expectedBlockTime); + BOOST_CHECK(checkHeader.nBits == expectedDifficultyBits); + BOOST_CHECK(checkHeader.nNonce == expectedNonce); +} + +BOOST_AUTO_TEST_SUITE_END()