public override void AssertWhat(Filter filter, int numInsertions, int hashId, ImmutableSet <int> falsePositives) { Filter evenFilter = BloomFilterCommonTester.GetSymmetricFilter(filter.GetType(), numInsertions, hashId); // add all even for (int i = 0; i < numInsertions; i += 2) { evenFilter.Add(new Key(Runtime.GetBytesForString(Extensions.ToString (i)))); } // add all odd for (int i_1 = 1; i_1 < numInsertions; i_1 += 2) { filter.Add(new Key(Runtime.GetBytesForString(Extensions.ToString( i_1)))); } // union odd with even filter.Or(evenFilter); // check on present all key for (int i_2 = 0; i_2 < numInsertions; i_2++) { Assert.True(" filter might contains " + i_2, filter.MembershipTest (new Key(Runtime.GetBytesForString(Extensions.ToString(i_2))))); } }
public override void AssertWhat(Filter filter, int numInsertions, int hashId, ImmutableSet <int> falsePositives) { int startIntersection = numInsertions - (numInsertions - 100); int endIntersection = numInsertions - 100; Filter partialFilter = BloomFilterCommonTester.GetSymmetricFilter(filter.GetType( ), numInsertions, hashId); for (int i = 0; i < numInsertions; i++) { string digit = Extensions.ToString(i); filter.Add(new Key(Runtime.GetBytesForString(digit))); if (i >= startIntersection && i <= endIntersection) { partialFilter.Add(new Key(Runtime.GetBytesForString(digit))); } } // do logic AND filter.And(partialFilter); for (int i_1 = 0; i_1 < numInsertions; i_1++) { if (i_1 >= startIntersection && i_1 <= endIntersection) { Assert.True(" filter might contains " + i_1, filter.MembershipTest (new Key(Runtime.GetBytesForString(Extensions.ToString(i_1))))); } } }
public override void AssertWhat(Filter filter, int numInsertions, int hashId, ImmutableSet <int> falsePositives) { Filter symmetricFilter = BloomFilterCommonTester.GetSymmetricFilter(filter.GetType (), numInsertions, hashId); try { // 0 xor 0 -> 0 filter.Xor(symmetricFilter); // check on present all key for (int i = 0; i < numInsertions; i++) { NUnit.Framework.Assert.IsFalse(" filter might contains " + i, filter.MembershipTest (new Key(Runtime.GetBytesForString(Extensions.ToString(i))))); } // add all even keys for (int i_1 = 0; i_1 < numInsertions; i_1 += 2) { filter.Add(new Key(Runtime.GetBytesForString(Extensions.ToString( i_1)))); } // add all odd keys for (int i_2 = 0; i_2 < numInsertions; i_2 += 2) { symmetricFilter.Add(new Key(Runtime.GetBytesForString(Extensions.ToString (i_2)))); } filter.Xor(symmetricFilter); // 1 xor 1 -> 0 // check on absent all key for (int i_3 = 0; i_3 < numInsertions; i_3++) { NUnit.Framework.Assert.IsFalse(" filter might not contains " + i_3, filter.MembershipTest (new Key(Runtime.GetBytesForString(Extensions.ToString(i_3))))); } } catch (NotSupportedException) { // not all Filter's implements this method return; } }
public override void AssertWhat(Filter filter, int numInsertions, int hashId, ImmutableSet <int> falsePositives) { Random rnd = new Random(); DataOutputBuffer @out = new DataOutputBuffer(); DataInputBuffer @in = new DataInputBuffer(); try { Filter tempFilter = BloomFilterCommonTester.GetSymmetricFilter(filter.GetType(), numInsertions, hashId); ImmutableList.Builder <int> blist = ImmutableList.Builder(); for (int i = 0; i < this.slotSize; i++) { blist.Add(rnd.Next(numInsertions * 2)); } ImmutableList <int> list = ((ImmutableList <int>)blist.Build()); // mark bits for later check foreach (int slot in list) { filter.Add(new Key(Runtime.GetBytesForString(slot.ToString()))); } filter.Write(@out); @in.Reset(@out.GetData(), @out.GetLength()); tempFilter.ReadFields(@in); foreach (int slot_1 in list) { Assert.True("read/write mask check filter error on " + slot_1, filter.MembershipTest(new Key(Runtime.GetBytesForString(slot_1.ToString( ))))); } } catch (IOException ex) { NUnit.Framework.Assert.Fail("error ex !!!" + ex); } }