Skip to content

Commit

Permalink
Add test WeightedRandomSamplingTest.feedAlternative
Browse files Browse the repository at this point in the history
  • Loading branch information
gstamatelat committed Jun 28, 2018
1 parent 84d3748 commit 9580ec9
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions src/test/java/gr/james/sampling/WeightedRandomSamplingTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Random;
import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
Expand Down Expand Up @@ -106,4 +104,27 @@ public void cornerWeights() {
alg.sample();
}

/**
* Equivalence between {@link WeightedRandomSampling#feed(Object)},
* {@link WeightedRandomSampling#feed(Iterator, Iterator)} and {@link WeightedRandomSampling#feed(Map)}.
*/
@Test
public void feedAlternative() {
final WeightedRandomSampling<Integer> rs1 = impl.get();
final WeightedRandomSampling<Integer> rs2 = impl.get();
final WeightedRandomSampling<Integer> rs3 = impl.get();
final Map<Integer, Double> map = new HashMap<>();
for (int i = 1; i <= SAMPLE; i++) {
map.put(i, (double) i);
rs1.feed(i, (double) i);
}
rs3.feed(map.keySet().iterator(), map.values().iterator());
rs2.feed(map);
Assert.assertEquals(SAMPLE, rs1.sample().size());
Assert.assertEquals(SAMPLE, rs2.sample().size());
Assert.assertEquals(SAMPLE, rs3.sample().size());
Assert.assertTrue(rs1.sample().containsAll(rs2.sample()));
Assert.assertTrue(rs2.sample().containsAll(rs3.sample()));
}

}

0 comments on commit 9580ec9

Please sign in to comment.