void KeyValueCountingBloomFilterTest::testInsert() { bloom::KeyValueCountingBloomFilter Filter1(hashFunction_, *storage1, "", 10, false, 0.01); // test signature (const unsigned char* key) unsigned char cad1[hashFunction_.getHashSize()]; hashFunction_(cad1, "ejemplo"); Filter1.add(cad1); CPPUNIT_ASSERT(Filter1.contains(cad1)); // test signature (const std::string& key) Filter1.AbstractBloomFilter::add(string("hello")); CPPUNIT_ASSERT( Filter1.AbstractBloomFilter::contains(string("hello"))); // test signature (const char* key) Filter1.AbstractBloomFilter::add("bye"); CPPUNIT_ASSERT_EQUAL(true, Filter1.AbstractBloomFilter::contains("bye")); /// Testing transaction code bloom::KeyValueCountingBloomFilter Filter3(hashFunction_, *storage3, "", 10, false, 0.01); Filter3.AbstractBloomFilter::add("bla1"); Filter3.AbstractBloomFilter::add("bla2"); Filter3.AbstractBloomFilter::add("bla3"); CPPUNIT_ASSERT(Filter3.itemCount_== 3); /// Testing berkeley db code bloom::KeyValueCountingBloomFilter Filter4(hashFunction_, *bdbstorage, "", 10, false, 0.01); Filter4.AbstractBloomFilter::add("bla1"); Filter4.AbstractBloomFilter::add("bla2"); Filter4.AbstractBloomFilter::add("bla3"); CPPUNIT_ASSERT(Filter4.itemCount_== 3); }
void KeyValueCountingBloomFilterTest::testSize() { uint64_t size = 0; { bloom::KeyValueCountingBloomFilter Filter1(hashFunction_, *storage1, "", 10, false, 0.01); Filter1.AbstractBloomFilter::add("bla1"); Filter1.AbstractBloomFilter::add("bla2"); Filter1.AbstractBloomFilter::add("bla3"); Filter1.AbstractBloomFilter::add("bla4"); size = Filter1.numberOfElements(); } { bloom::KeyValueCountingBloomFilter Filter1(hashFunction_, *storage1, "", 10, false, 0.01); CPPUNIT_ASSERT(size == Filter1.numberOfElements()); } }
void KeyValueCountingBloomFilterTest::testRemove() { //cout << endl; bloom::KeyValueCountingBloomFilter Filter1(hashFunction_, *storage1, "", 10, false, 0.01); bloom::KeyValueCountingBloomFilter Filter2(hashFunction_, *storage2, "", 10, false, 0.01); bloom::KeyValueCountingBloomFilter Filter3(hashFunction_, *storage3, "", 10, false, 0.01); // test signature (const unsigned char* key) unsigned char cad1[hashFunction_.getHashSize()]; hashFunction_(cad1, "ejemplo"); CPPUNIT_ASSERT(!Filter1.remove(cad1)); Filter1.add(cad1); CPPUNIT_ASSERT_EQUAL(true, Filter1.contains(cad1)); bool removed = Filter1.remove(cad1); CPPUNIT_ASSERT(removed); CPPUNIT_ASSERT_EQUAL(false, Filter1.contains(cad1)); CPPUNIT_ASSERT(!Filter1.remove(cad1)); // test signature (const std::string& key) Filter1.AbstractBloomFilter::add(string("hello")); Filter1.AbstractBloomFilter::add(string("hello")); CPPUNIT_ASSERT(Filter1.AbstractBloomFilter::contains(string("hello"))); CPPUNIT_ASSERT(Filter1.CountingBloomFilter::remove(string("hello"))); CPPUNIT_ASSERT(!Filter1.AbstractBloomFilter::contains(string("hello"))); // test signature (const char* key) CPPUNIT_ASSERT(!Filter1.CountingBloomFilter::remove("bye")); Filter1.AbstractBloomFilter::add("bye"); CPPUNIT_ASSERT(Filter1.AbstractBloomFilter::contains("bye")); CPPUNIT_ASSERT(Filter1.CountingBloomFilter::remove("bye")); CPPUNIT_ASSERT(!Filter1.CountingBloomFilter::remove("bye")); Filter1.AbstractBloomFilter::add("bla1"); Filter2.AbstractBloomFilter::add("bla1"); Filter2.clear(); Filter1.AbstractBloomFilter::add("bla2"); Filter2.AbstractBloomFilter::add("bla2"); Filter2.clear(); Filter1.AbstractBloomFilter::add("bla3"); Filter2.AbstractBloomFilter::add("bla3"); Filter2.clear(); CPPUNIT_ASSERT(Filter1.CountingBloomFilter::remove("bla1")); CPPUNIT_ASSERT(Filter1.CountingBloomFilter::remove("bla2")); CPPUNIT_ASSERT(Filter1.AbstractBloomFilter::contains("bla3")); CPPUNIT_ASSERT(Filter1.CountingBloomFilter::remove("bla3")); /// Testing transaction code Filter3.AbstractBloomFilter::add("bla1"); Filter3.AbstractBloomFilter::add("bla2"); Filter3.AbstractBloomFilter::add("bla3"); CPPUNIT_ASSERT(Filter3.CountingBloomFilter::remove("bla1")); CPPUNIT_ASSERT(Filter3.CountingBloomFilter::remove("bla2")); CPPUNIT_ASSERT(Filter3.CountingBloomFilter::remove("bla3")); }
/*=== BEGIN tests for class 'BloomFilter' ===*/ void BloomFilterTest::testLoad() { bloom::BloomFilter Filter1(hash, 10, false, 0.01); bloom::BloomFilter Filter2(hash, 10, false, 0.01); string s1 = "hello"; string s2 = "byebye"; Filter1.AbstractBloomFilter::add(s1); CPPUNIT_ASSERT_EQUAL(true, Filter1.AbstractBloomFilter::contains(s1)); CPPUNIT_ASSERT_EQUAL(false, Filter2.AbstractBloomFilter::contains(s1)); std::stringstream buf; Filter1.save(buf); Filter2.load(buf, Filter1.numberOfElements()); CPPUNIT_ASSERT_EQUAL(true, Filter2.AbstractBloomFilter::contains(s1)); CPPUNIT_ASSERT_EQUAL(Filter1.numberOfElements(), Filter2.numberOfElements()); }
void KeyValueCountingBloomFilterTest::testConstructor() { bloom::KeyValueCountingBloomFilter Filter1(hashFunction_, *storage1, "", 10, false, 0.01); Filter1.AbstractBloomFilter::add("bla1"); Filter1.AbstractBloomFilter::add("bla2"); Filter1.AbstractBloomFilter::add("bla3"); Filter1.AbstractBloomFilter::add("bla4"); bloom::KeyValueCountingBloomFilter Filter2(hashFunction_, *storage1, "", 10, false, 0.01); CPPUNIT_ASSERT(Filter1.AbstractBloomFilter::contains("bla1")); CPPUNIT_ASSERT(Filter2.AbstractBloomFilter::contains("bla1")); CPPUNIT_ASSERT(Filter2.AbstractBloomFilter::contains("bla2")); CPPUNIT_ASSERT(Filter2.AbstractBloomFilter::contains("bla3")); CPPUNIT_ASSERT(Filter2.AbstractBloomFilter::contains("bla4")); }
void KeyValueCountingBloomFilterTest::testContains() { /* test signature (const std::string& key) const */ /* test signature (const char* data, const std::size_t& length) const */ bloom::KeyValueCountingBloomFilter Filter1(hashFunction_, *storage1, "", 8196); char word[8]; for (int j = 0; j <= 127; j++) { for (int i = 0; i <= 7; i++) { word[i] = 33 + rand() % (126 - 23); } Filter1.AbstractBloomFilter::add(word); CPPUNIT_ASSERT_EQUAL(true, Filter1.AbstractBloomFilter::contains(word)); } Filter1.clear(); CPPUNIT_ASSERT_EQUAL(false, Filter1.AbstractBloomFilter::contains(word)); }
void KeyValueCountingBloomFilterTest::testLoad() { bloom::KeyValueCountingBloomFilter Filter1(hashFunction_, *storage1, "", 10, false, 0.01); bloom::KeyValueCountingBloomFilter Filter2(hashFunction_, *storage2, "", 10, false, 0.01); Filter1.AbstractBloomFilter::add("hello"); CPPUNIT_ASSERT_EQUAL(true, Filter1.AbstractBloomFilter::contains("hello")); CPPUNIT_ASSERT_EQUAL(false, Filter2.AbstractBloomFilter::contains("hello")); std::stringstream buf; Filter1.save(buf); Filter2.load(buf, Filter1.numberOfElements()); CPPUNIT_ASSERT_EQUAL(Filter1.numberOfElements(), Filter2.numberOfElements()); // std::cout << std::endl << Filter1.toString() << std::endl; // std::cout << std::endl << Filter2.toString() << std::endl; CPPUNIT_ASSERT(Filter1 == Filter2); CPPUNIT_ASSERT(Filter2.AbstractBloomFilter::contains("hello")); }
int DjvuPic::Rotate(void) { RotateFilter Filter1(CenterRotate); Filter1.SetFilter(CenterRotate.angle,CPoint(Buffer->w/2,Buffer->h/2)); Filter1.Main(Buffer); if(IsBckgFile) { Filter1.Main(Background); for(int i=0;i<Zones.GetSize();i++) { if(Zones[i]) Zones[i]->Create(); } } return ERR_OK; }
void BloomFilterTest::testInsert() { bloom::BloomFilter Filter1(hash, 10, false, 0.01); // test signature (const unsigned char* key) unsigned char cad1[hash.getHashSize()]; hash(cad1, "ejemplo"); Filter1.add(cad1); CPPUNIT_ASSERT_EQUAL(true, Filter1.contains(cad1)); // test signature (const std::string& key) string strin; strin = "hello"; Filter1.AbstractBloomFilter::add(strin); CPPUNIT_ASSERT_EQUAL(true, Filter1.AbstractBloomFilter::contains(strin)); // std::cout << Filter1.toString() << std::endl; }