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"));
}
Esempio n. 4
0
/*=== 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"));
}
Esempio n. 8
0
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;
}
Esempio n. 9
0
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;

}