コード例 #1
0
        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());
        }
コード例 #2
0
        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());
        }