Lookup() public method

public Lookup ( string str ) : bool
str string
return bool
        public void lookup_should_return_false_when_bloomfilter_is_not_empty()
        {
            var bf = new BloomFilter <string>(20, 10);

            bf.Add("Test String");
            Assert.False(bf.Lookup("Test"));
        }
Example #2
0
        public void InitBloomFilter_WithOnePercentFalsePositive_ReturnTrueValueInDictionary()
        {
            BloomFilter bloomFilter = new BloomFilter(dictionary, 150, 2);
            var         exists      = bloomFilter.Lookup("cat");

            Assert.IsTrue(exists);
        }
Example #3
0
        public void InitBloomFilter_WithOnePercentFalsePositive_ReturnNoFalsePositive()
        {
            BloomFilter bloomFilter = new BloomFilter(dictionary, 150, 2);
            var         exists      = bloomFilter.Lookup("foo");

            Assert.IsTrue(!exists);
        }
Example #4
0
        public void InitBloomFilter_WithOneHundredPercentFalsePositive_ReturnFalsePositive()
        {
            BloomFilter bloomFilter = new BloomFilter(dictionary, (uint)dictionary.Length, 2);
            var         exists      = bloomFilter.Lookup("foo");

            Assert.IsTrue(exists);
        }
Example #5
0
    public static int Main()
    {
        var hashes = new IStringHash[] { new StandardHash (),
                     new MurmurHash2Simple (),
                     new SuperFastHashSimple (),
                     /*
                     new CryptographicHash (MD5.Create ()),
                     new CryptographicHash (SHA1.Create ()),
                     new CryptographicHash (RIPEMD160Managed.Create ()),
                     new CryptographicHash (MACTripleDES.Create ())
                     */ };
        var bloom = new BloomFilter (1000003, hashes);
        var positive = new List<string> ();
        var negative = new List<string> ();
        var toggle = true;
        foreach (var line in File.ReadAllLines ("/usr/share/dict/words"))
        {
        var l = line.Trim ();
        if (toggle)
        {
        positive.Add (l);
        bloom.Add (l);
        }
        else
        {
        negative.Add (l);
        }
        toggle = !toggle;
        }

        Console.WriteLine ("occupancy for " + positive.Count + " words: " + bloom.Occupancy ());

        foreach (var line in positive)
        {
        if (!bloom.Lookup (line))
        {
        Console.WriteLine ("error!");
        return 1;
        }
        }

        int false_positives = 0;
        foreach (var line in negative)
        {
        if (bloom.Lookup (line))
        ++false_positives;
        }

        Console.WriteLine ("false positives: " + ((float)false_positives / negative.Count));

        return 0;
    }
        public void lookup_should_return_false_when_bloomfilter_is_empty()
        {
            var bf = new BloomFilter <string>(20, 10);

            Assert.False(bf.Lookup("empty"));
        }