@Test
public void testFilter_fullOrbit() {

    final int width = 512;
    final int height = 40000;
    final int maxOrbit = 1;
    final int count = 100000;
    final List<SamplingPoint> samplingPoints = new ArrayList<>(count);
    final SobolSequenceGenerator sequenceGenerator = new SobolSequenceGenerator(3);
    for (int i = 0; i < count; i++) {
        final double[] rands = sequenceGenerator.nextVector();
        final int x = (int) (width * rands[0]);
        final int y = (int) (height * rands[1]);
        final int orbitRef = (int) (maxOrbit * rands[2]);
        final SamplingPoint point = new SamplingPoint(x, y);
        point.setReference(orbitRef);
        samplingPoints.add(point);
    }
      final Timer timer = new Timer();
      System.out.println("Initial count  = " + samplingPoints.size());
      timer.start();
    final List<SamplingPoint> filtererList = filter.apply(samplingPoints);
      timer.stop();
      System.out.println("Filtered count = " + filtererList.size());
      System.out.println("time [s]       = " + timer.deltaTInSecs());
    assertEquals(82715, filtererList.size());
}