Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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());
        }