import org.junit.Test; import java.util.List; import static org.junit.Assert.*; public class ComputeRandomSubsetTest { private int n; private int k; @Test public void randomSubset1() { n = 5; k = 3; test(n, k); } @Test public void randomSubset2() { n = 50; k = 15; test(n, k); } @Test public void randomSubset3() { n = 500; k = 50; test(n, k); } private void test(int n, int k) { final List<Integer> sequence = StreamUtil.sequence(n); final List<Integer> subset = ComputeRandomSubset.randomSubset(n, k); assertNotEquals(sequence, subset); assertEquals(k, subset.size()); for (Integer i : subset) { assertTrue(sequence.contains(i)); sequence.remove(i); } } }