public void testForInts_null() { assertNullsThrowException(Funnels.integerFunnel()); }
public void testForInts() { Integer value = 1234; PrimitiveSink primitiveSink = mock(PrimitiveSink.class); Funnels.integerFunnel().funnel(value, primitiveSink); verify(primitiveSink).putInt(1234); }
public void testApproximateElementCount() { int numInsertions = 1000; BloomFilter<Integer> bf = BloomFilter.create(Funnels.integerFunnel(), numInsertions); bf.put(-1); for (int i = 0; i < numInsertions; i++) { bf.put(i); } assertApproximateElementCountGuess(bf, numInsertions); }
public void testPutAllWithSelf() { BloomFilter<Integer> bf1 = BloomFilter.create(Funnels.integerFunnel(), 1); try { assertFalse(bf1.isCompatible(bf1)); bf1.putAll(bf1); fail(); } catch (IllegalArgumentException expected) { } }
public void testPutAllDifferentSizes() { BloomFilter<Integer> bf1 = BloomFilter.create(Funnels.integerFunnel(), 1); BloomFilter<Integer> bf2 = BloomFilter.create(Funnels.integerFunnel(), 10); try { assertFalse(bf1.isCompatible(bf2)); bf1.putAll(bf2); fail(); } catch (IllegalArgumentException expected) { } try { assertFalse(bf2.isCompatible(bf1)); bf2.putAll(bf1); fail(); } catch (IllegalArgumentException expected) { } }
public void testSerialization() { assertSame( Funnels.byteArrayFunnel(), SerializableTester.reserialize(Funnels.byteArrayFunnel())); assertSame(Funnels.integerFunnel(), SerializableTester.reserialize(Funnels.integerFunnel())); assertSame(Funnels.longFunnel(), SerializableTester.reserialize(Funnels.longFunnel())); assertSame( Funnels.unencodedCharsFunnel(), SerializableTester.reserialize(Funnels.unencodedCharsFunnel())); assertEquals( Funnels.sequentialFunnel(Funnels.integerFunnel()), SerializableTester.reserialize(Funnels.sequentialFunnel(Funnels.integerFunnel()))); assertEquals( Funnels.stringFunnel(Charsets.US_ASCII), SerializableTester.reserialize(Funnels.stringFunnel(Charsets.US_ASCII))); }
public void testEquals() { new EqualsTester() .addEqualityGroup(Funnels.byteArrayFunnel()) .addEqualityGroup(Funnels.integerFunnel()) .addEqualityGroup(Funnels.longFunnel()) .addEqualityGroup(Funnels.unencodedCharsFunnel()) .addEqualityGroup(Funnels.stringFunnel(Charsets.UTF_8)) .addEqualityGroup(Funnels.stringFunnel(Charsets.US_ASCII)) .addEqualityGroup( Funnels.sequentialFunnel(Funnels.integerFunnel()), SerializableTester.reserialize(Funnels.sequentialFunnel(Funnels.integerFunnel()))) .addEqualityGroup(Funnels.sequentialFunnel(Funnels.longFunnel())) .testEquals(); } }
public void testPutAll() { int element1 = 1; int element2 = 2; BloomFilter<Integer> bf1 = BloomFilter.create(Funnels.integerFunnel(), 100); bf1.put(element1); assertTrue(bf1.mightContain(element1)); assertFalse(bf1.mightContain(element2)); BloomFilter<Integer> bf2 = BloomFilter.create(Funnels.integerFunnel(), 100); bf2.put(element2); assertFalse(bf2.mightContain(element1)); assertTrue(bf2.mightContain(element2)); assertTrue(bf1.isCompatible(bf2)); bf1.putAll(bf2); assertTrue(bf1.mightContain(element1)); assertTrue(bf1.mightContain(element2)); assertFalse(bf2.mightContain(element1)); assertTrue(bf2.mightContain(element2)); }
@Override public void funnel(RevObject.TYPE from, PrimitiveSink into) { Funnels.integerFunnel().funnel(from.value(), into); } };
@Override public void funnel(RevObject.TYPE from, PrimitiveSink into) { Funnels.integerFunnel().funnel(from.value(), into); } };
@Override public void funnel(RevObject.TYPE from, PrimitiveSink into) { Funnels.integerFunnel().funnel(from.value(), into); } };
@Deprecated public void funnel(PrimitiveSink into, List<Node> trees, List<Node> features, SortedMap<Integer, Bucket> buckets) { RevObjectTypeFunnel.funnel(TYPE.TREE, into); trees.forEach(n -> NodeFunnel.funnel(n, into)); features.forEach(n -> NodeFunnel.funnel(n, into)); for (Entry<Integer, Bucket> entry : buckets.entrySet()) { Funnels.integerFunnel().funnel(entry.getKey(), into); ObjectIdFunnel.funnel(entry.getValue().getObjectId(), into); } }
public void funnel(PrimitiveSink into, List<Node> trees, List<Node> features, SortedMap<Integer, Bucket> buckets) { RevObjectTypeFunnel.funnel(TYPE.TREE, into); trees.forEach((n) -> NodeFunnel.funnel(n, into)); features.forEach((n) -> NodeFunnel.funnel(n, into)); for (Entry<Integer, Bucket> entry : buckets.entrySet()) { Funnels.integerFunnel().funnel(entry.getKey(), into); ObjectIdFunnel.funnel(entry.getValue().getObjectId(), into); } } };
public void funnel(PrimitiveSink into, List<Node> trees, List<Node> features, Iterable<Bucket> buckets) { RevObjectTypeFunnel.funnel(TYPE.TREE, into); trees.forEach(n -> NodeFunnel.funnel(n, into)); features.forEach(n -> NodeFunnel.funnel(n, into)); buckets.forEach(b -> { Funnels.integerFunnel().funnel(b.getIndex(), into); ObjectIdFunnel.funnel(b.getObjectId(), into); }); } }
@Override public void funnel(RevPerson from, PrimitiveSink into) { NullableStringFunnel.funnel(from.getName().orNull(), into); NullableStringFunnel.funnel(from.getEmail().orNull(), into); Funnels.longFunnel().funnel(from.getTimestamp(), into); Funnels.integerFunnel().funnel(from.getTimeZoneOffset(), into); } });
@Override public void funnel(RevPerson from, PrimitiveSink into) { NullableStringFunnel.funnel(from.getName().orNull(), into); NullableStringFunnel.funnel(from.getEmail().orNull(), into); Funnels.longFunnel().funnel(from.getTimestamp(), into); Funnels.integerFunnel().funnel(from.getTimeZoneOffset(), into); } });
@Override public void funnel(RevPerson from, PrimitiveSink into) { NullableStringFunnel.funnel(from.getName().orNull(), into); NullableStringFunnel.funnel(from.getEmail().orNull(), into); Funnels.longFunnel().funnel(from.getTimestamp(), into); Funnels.integerFunnel().funnel(from.getTimeZoneOffset(), into); } });
public void testApproximateElementCount() { int numInsertions = 1000; BloomFilter<Integer> bf = BloomFilter.create(Funnels.integerFunnel(), numInsertions); bf.put(-1); for (int i = 0; i < numInsertions; i++) { bf.put(i); } assertApproximateElementCountGuess(bf, numInsertions); }
@Override public void funnel(RevTree from, PrimitiveSink into) { RevObjectTypeFunnel.funnel(TYPE.TREE, into); from.forEachTree(n -> NodeFunnel.funnel(n, into)); from.forEachFeature(n -> NodeFunnel.funnel(n, into)); from.forEachBucket(bucket -> { Funnels.integerFunnel().funnel(bucket.getIndex(), into); ObjectIdFunnel.funnel(bucket.getObjectId(), into); }); }
public void testPutAllWithSelf() { BloomFilter<Integer> bf1 = BloomFilter.create(Funnels.integerFunnel(), 1); try { assertFalse(bf1.isCompatible(bf1)); bf1.putAll(bf1); fail(); } catch (IllegalArgumentException expected) { } }