@Test(dataProvider = "testData") public void testIntervalPairFilter( final List<Interval> intervals, final long expectedPassingRecords) { final IntervalKeepPairFilter filter = new IntervalKeepPairFilter(intervals); long actualPassingRecords = StreamSupport.stream(builder.spliterator(), false) .filter(rec -> !filter.filterOut(rec)) .count(); Assert.assertEquals(actualPassingRecords, expectedPassingRecords); }
@Test public void testNotPrimaryReads() { final List<Interval> intervalList = new ArrayList<>(); final Interval interval1 = new Interval("chr1", 1, 999); intervalList.add(interval1); final IntervalKeepPairFilter filter = new IntervalKeepPairFilter(intervalList); boolean notPrimary = StreamSupport.stream(builder.spliterator(), false) .filter(rec -> !filter.filterOut(rec)) .anyMatch( rec -> rec.getNotPrimaryAlignmentFlag() || rec.getSupplementaryAlignmentFlag()); Assert.assertFalse(notPrimary); }
@Test public void testUnmappedPair() { final List<Interval> intervalList = new ArrayList<>(); final Interval interval1 = new Interval("chr1", 1, 999); final Interval interval2 = new Interval("chr3", 1, 2); final Interval interval3 = new Interval("chr2", 1, 2); final Interval interval4 = new Interval("chr4", 1, 2); intervalList.addAll(CollectionUtil.makeList(interval1, interval2, interval3, interval4)); final IntervalKeepPairFilter filter = new IntervalKeepPairFilter(intervalList); boolean unmappedPassed = StreamSupport.stream(builder.spliterator(), false) .filter(rec -> !filter.filterOut(rec)) .anyMatch(rec -> rec.getReadName().equals("both_unmapped")); Assert.assertFalse(unmappedPassed); }