Changeset View
Changeset View
Standalone View
Standalone View
src/test/merkleblock_tests.cpp
Show All 30 Lines | BOOST_AUTO_TEST_CASE(merkleblock_construct_from_txids_found) { | ||||
txids.insert(txhash2); | txids.insert(txhash2); | ||||
CMerkleBlock merkleBlock(block, txids); | CMerkleBlock merkleBlock(block, txids); | ||||
BOOST_CHECK_EQUAL(merkleBlock.header.GetHash().GetHex(), | BOOST_CHECK_EQUAL(merkleBlock.header.GetHash().GetHex(), | ||||
block.GetHash().GetHex()); | block.GetHash().GetHex()); | ||||
// vMatchedTxn is only used when bloom filter is specified. | // vMatchedTxn is only used when bloom filter is specified. | ||||
BOOST_CHECK_EQUAL(merkleBlock.vMatchedTxn.size(), 0); | BOOST_CHECK_EQUAL(merkleBlock.vMatchedTxn.size(), 0U); | ||||
std::vector<uint256> vMatched; | std::vector<uint256> vMatched; | ||||
std::vector<size_t> vIndex; | std::vector<size_t> vIndex; | ||||
BOOST_CHECK_EQUAL(merkleBlock.txn.ExtractMatches(vMatched, vIndex).GetHex(), | BOOST_CHECK_EQUAL(merkleBlock.txn.ExtractMatches(vMatched, vIndex).GetHex(), | ||||
block.hashMerkleRoot.GetHex()); | block.hashMerkleRoot.GetHex()); | ||||
BOOST_CHECK_EQUAL(vMatched.size(), 2); | BOOST_CHECK_EQUAL(vMatched.size(), 2U); | ||||
// Ordered by occurrence in depth-first tree traversal. | // Ordered by occurrence in depth-first tree traversal. | ||||
BOOST_CHECK_EQUAL(vMatched[0].ToString(), txhash2.ToString()); | BOOST_CHECK_EQUAL(vMatched[0].ToString(), txhash2.ToString()); | ||||
BOOST_CHECK_EQUAL(vIndex[0], 1); | BOOST_CHECK_EQUAL(vIndex[0], 1U); | ||||
BOOST_CHECK_EQUAL(vMatched[1].ToString(), txhash1.ToString()); | BOOST_CHECK_EQUAL(vMatched[1].ToString(), txhash1.ToString()); | ||||
BOOST_CHECK_EQUAL(vIndex[1], 8); | BOOST_CHECK_EQUAL(vIndex[1], 8U); | ||||
} | } | ||||
/** | /** | ||||
* Create a CMerkleBlock using a list of txids which will not be found in the | * Create a CMerkleBlock using a list of txids which will not be found in the | ||||
* given block. | * given block. | ||||
*/ | */ | ||||
BOOST_AUTO_TEST_CASE(merkleblock_construct_from_txids_not_found) { | BOOST_AUTO_TEST_CASE(merkleblock_construct_from_txids_not_found) { | ||||
CBlock block = getBlock13b8a(); | CBlock block = getBlock13b8a(); | ||||
std::set<TxId> txids2; | std::set<TxId> txids2; | ||||
txids2.insert(TxId(uint256S( | txids2.insert(TxId(uint256S( | ||||
"0xc0ffee00003bafa802c8aa084379aa98d9fcd632ddc2ed9782b586ec87451f20"))); | "0xc0ffee00003bafa802c8aa084379aa98d9fcd632ddc2ed9782b586ec87451f20"))); | ||||
CMerkleBlock merkleBlock(block, txids2); | CMerkleBlock merkleBlock(block, txids2); | ||||
BOOST_CHECK_EQUAL(merkleBlock.header.GetHash().GetHex(), | BOOST_CHECK_EQUAL(merkleBlock.header.GetHash().GetHex(), | ||||
block.GetHash().GetHex()); | block.GetHash().GetHex()); | ||||
BOOST_CHECK_EQUAL(merkleBlock.vMatchedTxn.size(), 0); | BOOST_CHECK_EQUAL(merkleBlock.vMatchedTxn.size(), 0U); | ||||
std::vector<uint256> vMatched; | std::vector<uint256> vMatched; | ||||
std::vector<size_t> vIndex; | std::vector<size_t> vIndex; | ||||
BOOST_CHECK_EQUAL(merkleBlock.txn.ExtractMatches(vMatched, vIndex).GetHex(), | BOOST_CHECK_EQUAL(merkleBlock.txn.ExtractMatches(vMatched, vIndex).GetHex(), | ||||
block.hashMerkleRoot.GetHex()); | block.hashMerkleRoot.GetHex()); | ||||
BOOST_CHECK_EQUAL(vMatched.size(), 0); | BOOST_CHECK_EQUAL(vMatched.size(), 0U); | ||||
BOOST_CHECK_EQUAL(vIndex.size(), 0); | BOOST_CHECK_EQUAL(vIndex.size(), 0U); | ||||
} | } | ||||
BOOST_AUTO_TEST_SUITE_END() | BOOST_AUTO_TEST_SUITE_END() |