示例#1
0
        public void TestInverseCapacity()
        {
            var f = new InverseBloomFilter(100);

            var capacity = f.Capacity();

            Assert.AreEqual(100u, capacity);
        }
示例#2
0
 public void Testinitialize()
 {
     n    = 100000;
     f    = new InverseBloomFilter((uint)n);
     data = new byte[n][];
     for (int i = 0; i < n; i++)
     {
         data[i] = Encoding.ASCII.GetBytes(i.ToString());
     }
 }
示例#3
0
        public void TestInverseTestAndAdd()
        {
            var f = new InverseBloomFilter(3);

            if (f.TestAndAdd(A_BYTES))
            {
                Assert.Fail("'a' should not be a member");
            }

            if (!f.Test(A_BYTES))
            {
                Assert.Fail("'a' should be a member");
            }

            // 'd' hashes to the same index as 'a'
            if (f.TestAndAdd(D_BYTES))
            {
                Assert.Fail("'d' should not be a member");
            }

            // 'a' was swapped out.
            if (f.TestAndAdd(A_BYTES))
            {
                Assert.Fail("'a' should not be a member");
            }

            if (!f.Test(A_BYTES))
            {
                Assert.Fail("'a' should be a member");
            }

            // 'b' hashes to another index
            if (f.TestAndAdd(B_BYTES))
            {
                Assert.Fail("'b' should not be a member");
            }

            if (!f.Test(B_BYTES))
            {
                Assert.Fail("'b' should be a member");
            }

            // 'a' should still be a member.
            if (!f.Test(A_BYTES))
            {
                Assert.Fail("'a' should be a member");
            }

            if (f.Test(C_BYTES))
            {
                Assert.Fail("'c' should not be a member");
            }

            var addedC = f.Add(C_BYTES);

            Assert.AreSame(f, addedC, "Returned InverseBloomFilter should be the same instance");

            if (!f.Test(C_BYTES))
            {
                Assert.Fail("'c' should be a member");
            }
        }
示例#4
0
 public void TestCleanup()
 {
     f    = null;
     n    = 0;
     data = null;
 }