public void testBloomFilterBytes() { BloomFilter bf = new BloomFilter(10000); byte[] val = new byte[] { 1, 2, 3 }; byte[] val1 = new byte[] { 1, 2, 3, 4 }; byte[] val2 = new byte[] { 1, 2, 3, 4, 5 }; byte[] val3 = new byte[] { 1, 2, 3, 4, 5, 6 }; Assert.Equal(false, bf.test(val)); Assert.Equal(false, bf.test(val1)); Assert.Equal(false, bf.test(val2)); Assert.Equal(false, bf.test(val3)); bf.add(val); Assert.Equal(true, bf.test(val)); Assert.Equal(false, bf.test(val1)); Assert.Equal(false, bf.test(val2)); Assert.Equal(false, bf.test(val3)); bf.add(val1); Assert.Equal(true, bf.test(val)); Assert.Equal(true, bf.test(val1)); Assert.Equal(false, bf.test(val2)); Assert.Equal(false, bf.test(val3)); bf.add(val2); Assert.Equal(true, bf.test(val)); Assert.Equal(true, bf.test(val1)); Assert.Equal(true, bf.test(val2)); Assert.Equal(false, bf.test(val3)); bf.add(val3); Assert.Equal(true, bf.test(val)); Assert.Equal(true, bf.test(val1)); Assert.Equal(true, bf.test(val2)); Assert.Equal(true, bf.test(val3)); byte[] randVal = new byte[COUNT]; for (int i = 0; i < COUNT; i++) { rand.NextBytes(randVal); bf.add(randVal); } // last value should be present Assert.Equal(true, bf.test(randVal)); // most likely this value should not exist randVal[0] = 0; randVal[1] = 0; randVal[2] = 0; randVal[3] = 0; randVal[4] = 0; Assert.Equal(false, bf.test(randVal)); Assert.Equal(7800, bf.sizeInBytes()); }
public void testBloomFilterByte() { BloomFilter bf = new BloomFilter(10000); byte val = Byte.MinValue; byte val1 = 1; byte val2 = 2; byte val3 = Byte.MaxValue; Assert.Equal(false, bf.testLong(val)); Assert.Equal(false, bf.testLong(val1)); Assert.Equal(false, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val); Assert.Equal(true, bf.testLong(val)); Assert.Equal(false, bf.testLong(val1)); Assert.Equal(false, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val1); Assert.Equal(true, bf.testLong(val)); Assert.Equal(true, bf.testLong(val1)); Assert.Equal(false, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val2); Assert.Equal(true, bf.testLong(val)); Assert.Equal(true, bf.testLong(val1)); Assert.Equal(true, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val3); Assert.Equal(true, bf.testLong(val)); Assert.Equal(true, bf.testLong(val1)); Assert.Equal(true, bf.testLong(val2)); Assert.Equal(true, bf.testLong(val3)); byte randVal = 0; for (int i = 0; i < COUNT; i++) { randVal = (byte)rand.Next(Byte.MaxValue); bf.addLong(randVal); } // last value should be present Assert.Equal(true, bf.testLong(randVal)); // most likely this value should not exist Assert.Equal(false, bf.testLong(unchecked((byte)-120))); Assert.Equal(7800, bf.sizeInBytes()); }
public void testBloomFilterLong() { BloomFilter bf = new BloomFilter(10000); long val = Int64.MinValue; long val1 = 1; long val2 = 2; long val3 = Int64.MaxValue; Assert.Equal(false, bf.testLong(val)); Assert.Equal(false, bf.testLong(val1)); Assert.Equal(false, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val); Assert.Equal(true, bf.testLong(val)); Assert.Equal(false, bf.testLong(val1)); Assert.Equal(false, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val1); Assert.Equal(true, bf.testLong(val)); Assert.Equal(true, bf.testLong(val1)); Assert.Equal(false, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val2); Assert.Equal(true, bf.testLong(val)); Assert.Equal(true, bf.testLong(val1)); Assert.Equal(true, bf.testLong(val2)); Assert.Equal(false, bf.testLong(val3)); bf.addLong(val3); Assert.Equal(true, bf.testLong(val)); Assert.Equal(true, bf.testLong(val1)); Assert.Equal(true, bf.testLong(val2)); Assert.Equal(true, bf.testLong(val3)); long randVal = 0; for (int i = 0; i < COUNT; i++) { randVal = rand.NextLong(); bf.addLong(randVal); } // last value should be present Assert.Equal(true, bf.testLong(randVal)); // most likely this value should not exist Assert.Equal(false, bf.testLong(-120)); Assert.Equal(7800, bf.sizeInBytes()); }
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()); }
public void testBloomFilterFloat() { BloomFilter bf = new BloomFilter(10000); float val = Single.MinValue; float val1 = 1.1f; float val2 = 2.2f; float val3 = Single.MaxValue; Assert.Equal(false, bf.testDouble(val)); Assert.Equal(false, bf.testDouble(val1)); Assert.Equal(false, bf.testDouble(val2)); Assert.Equal(false, bf.testDouble(val3)); bf.addDouble(val); Assert.Equal(true, bf.testDouble(val)); Assert.Equal(false, bf.testDouble(val1)); Assert.Equal(false, bf.testDouble(val2)); Assert.Equal(false, bf.testDouble(val3)); bf.addDouble(val1); Assert.Equal(true, bf.testDouble(val)); Assert.Equal(true, bf.testDouble(val1)); Assert.Equal(false, bf.testDouble(val2)); Assert.Equal(false, bf.testDouble(val3)); bf.addDouble(val2); Assert.Equal(true, bf.testDouble(val)); Assert.Equal(true, bf.testDouble(val1)); Assert.Equal(true, bf.testDouble(val2)); Assert.Equal(false, bf.testDouble(val3)); bf.addDouble(val3); Assert.Equal(true, bf.testDouble(val)); Assert.Equal(true, bf.testDouble(val1)); Assert.Equal(true, bf.testDouble(val2)); Assert.Equal(true, bf.testDouble(val3)); float randVal = 0; for (int i = 0; i < COUNT; i++) { randVal = rand.NextFloat(); bf.addDouble(randVal); } // last value should be present Assert.Equal(true, bf.testDouble(randVal)); // most likely this value should not exist Assert.Equal(false, bf.testDouble(-120.2f)); Assert.Equal(7800, bf.sizeInBytes()); }