@Test(dataProvider = "jsData") public void testJavascriptFilters(final String samFile, final String javascriptFile, final int expectCount) { final SamReaderFactory srf = SamReaderFactory.makeDefault(); final SamReader samReader = srf.open(new File(testDir, samFile)); final JavascriptSamRecordFilter filter; try { filter = new JavascriptSamRecordFilter(new File(testDir, javascriptFile), samReader.getFileHeader()); } catch (IOException err) { Assert.fail("Cannot read script",err); return; } final SAMRecordIterator iter = samReader.iterator(); int count = 0; while (iter.hasNext()) { if (filter.filterOut(iter.next())) { continue; } ++count; } iter.close(); CloserUtil.close(samReader); Assert.assertEquals(count, expectCount, "Expected number of reads " + expectCount + " but got " + count); } }
case includeJavascript: filteringIterator = new FilteringSamIterator(samReader.iterator(), new JavascriptSamRecordFilter( JAVASCRIPT_FILE, samReader.getFileHeader()));
case includeJavascript: filteringIterator = new FilteringSamIterator(samReader.iterator(), new JavascriptSamRecordFilter( JAVASCRIPT_FILE, samReader.getFileHeader()));