Changeset View
Changeset View
Standalone View
Standalone View
src/test/bloom_tests.cpp
Show All 23 Lines | |||||
#include <algorithm> | #include <algorithm> | ||||
#include <vector> | #include <vector> | ||||
BOOST_FIXTURE_TEST_SUITE(bloom_tests, BasicTestingSetup) | BOOST_FIXTURE_TEST_SUITE(bloom_tests, BasicTestingSetup) | ||||
BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize) { | BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize) { | ||||
CBloomFilter filter(3, 0.01, 0, BLOOM_UPDATE_ALL); | CBloomFilter filter(3, 0.01, 0, BLOOM_UPDATE_ALL); | ||||
BOOST_CHECK_MESSAGE( | |||||
!filter.contains(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")), | |||||
"Bloom filter should be empty!"); | |||||
filter.insert(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")); | filter.insert(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")); | ||||
BOOST_CHECK_MESSAGE( | BOOST_CHECK_MESSAGE( | ||||
filter.contains(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")), | filter.contains(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")), | ||||
"Bloom filter doesn't contain just-inserted object!"); | "Bloom filter doesn't contain just-inserted object!"); | ||||
// One bit different in first byte | // One bit different in first byte | ||||
BOOST_CHECK_MESSAGE( | BOOST_CHECK_MESSAGE( | ||||
!filter.contains(ParseHex("19108ad8ed9bb6274d3980bab5a85c048f0950c8")), | !filter.contains(ParseHex("19108ad8ed9bb6274d3980bab5a85c048f0950c8")), | ||||
"Bloom filter contains something it shouldn't!"); | "Bloom filter contains something it shouldn't!"); | ||||
Show All 19 Lines | BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize) { | ||||
} | } | ||||
BOOST_CHECK_EQUAL_COLLECTIONS(stream.begin(), stream.end(), | BOOST_CHECK_EQUAL_COLLECTIONS(stream.begin(), stream.end(), | ||||
expected.begin(), expected.end()); | expected.begin(), expected.end()); | ||||
BOOST_CHECK_MESSAGE( | BOOST_CHECK_MESSAGE( | ||||
filter.contains(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")), | filter.contains(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")), | ||||
"Bloom filter doesn't contain just-inserted object!"); | "Bloom filter doesn't contain just-inserted object!"); | ||||
filter.clear(); | |||||
BOOST_CHECK_MESSAGE( | |||||
!filter.contains(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")), | |||||
"Bloom filter should be empty!"); | |||||
} | } | ||||
BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize_with_tweak) { | BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize_with_tweak) { | ||||
// Same test as bloom_create_insert_serialize, but we add a nTweak of 100 | // Same test as bloom_create_insert_serialize, but we add a nTweak of 100 | ||||
CBloomFilter filter(3, 0.01, 2147483649UL, BLOOM_UPDATE_ALL); | CBloomFilter filter(3, 0.01, 2147483649UL, BLOOM_UPDATE_ALL); | ||||
filter.insert(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")); | filter.insert(ParseHex("99108ad8ed9bb6274d3980bab5a85c048f0950c8")); | ||||
BOOST_CHECK_MESSAGE( | BOOST_CHECK_MESSAGE( | ||||
▲ Show 20 Lines • Show All 1,094 Lines • Show Last 20 Lines |