private void insert(TopKSampler<String> sampler) { for (int i = 1; i <= 10; i++) { for (int j = 0; j < i; j++) { String key = "item" + i; sampler.addSample(key, MurmurHash.hash64(key), 1); } } }
@Test public void testSamplerSingleInsertionsEqualMulti() throws TimeoutException { TopKSampler<String> sampler = new TopKSampler<String>(); sampler.beginSampling(10); insert(sampler); waitForEmpty(1000); SamplerResult single = sampler.finishSampling(10); TopKSampler<String> sampler2 = new TopKSampler<String>(); sampler2.beginSampling(10); for (int i = 1; i <= 10; i++) { String key = "item" + i; sampler2.addSample(key, MurmurHash.hash64(key), i); } waitForEmpty(1000); Assert.assertEquals(countMap(single.topK), countMap(sampler2.finishSampling(10).topK)); Assert.assertEquals(sampler2.hll.cardinality(), 10); Assert.assertEquals(sampler.hll.cardinality(), sampler2.hll.cardinality()); }