public void testMerge() { BloomFilter bf = new BloomFilter(10000); string val = "bloo"; string val1 = "bloom fil"; string val2 = "bloom filter"; string val3 = "cuckoo filter"; bf.addString(val); bf.addString(val1); bf.addString(val2); bf.addString(val3); BloomFilter bf2 = new BloomFilter(10000); string v = "2_bloo"; string v1 = "2_bloom fil"; string v2 = "2_bloom filter"; string v3 = "2_cuckoo filter"; bf2.addString(v); bf2.addString(v1); bf2.addString(v2); bf2.addString(v3); Assert.Equal(true, bf.testString(val)); Assert.Equal(true, bf.testString(val1)); Assert.Equal(true, bf.testString(val2)); Assert.Equal(true, bf.testString(val3)); Assert.Equal(false, bf.testString(v)); Assert.Equal(false, bf.testString(v1)); Assert.Equal(false, bf.testString(v2)); Assert.Equal(false, bf.testString(v3)); bf.merge(bf2); Assert.Equal(true, bf.testString(val)); Assert.Equal(true, bf.testString(val1)); Assert.Equal(true, bf.testString(val2)); Assert.Equal(true, bf.testString(val3)); Assert.Equal(true, bf.testString(v)); Assert.Equal(true, bf.testString(v1)); Assert.Equal(true, bf.testString(v2)); Assert.Equal(true, bf.testString(v3)); }
public void testBloomFilterString() { BloomFilter bf = new BloomFilter(100000); string val = "bloo"; string val1 = "bloom fil"; string val2 = "bloom filter"; string val3 = "cuckoo filter"; Assert.Equal(false, bf.testString(val)); Assert.Equal(false, bf.testString(val1)); Assert.Equal(false, bf.testString(val2)); Assert.Equal(false, bf.testString(val3)); bf.addString(val); Assert.Equal(true, bf.testString(val)); Assert.Equal(false, bf.testString(val1)); Assert.Equal(false, bf.testString(val2)); Assert.Equal(false, bf.testString(val3)); bf.addString(val1); Assert.Equal(true, bf.testString(val)); Assert.Equal(true, bf.testString(val1)); Assert.Equal(false, bf.testString(val2)); Assert.Equal(false, bf.testString(val3)); bf.addString(val2); Assert.Equal(true, bf.testString(val)); Assert.Equal(true, bf.testString(val1)); Assert.Equal(true, bf.testString(val2)); Assert.Equal(false, bf.testString(val3)); bf.addString(val3); Assert.Equal(true, bf.testString(val)); Assert.Equal(true, bf.testString(val1)); Assert.Equal(true, bf.testString(val2)); Assert.Equal(true, bf.testString(val3)); long randVal = 0; for (int i = 0; i < COUNT; i++) { randVal = rand.NextLong(); bf.addString(randVal.ToString(CultureInfo.InvariantCulture)); } // last value should be present Assert.Equal(true, bf.testString(randVal.ToString(CultureInfo.InvariantCulture))); // most likely this value should not exist Assert.Equal(false, bf.testString((-120L).ToString(CultureInfo.InvariantCulture))); Assert.Equal(77944, bf.sizeInBytes()); }