this.next = getNextRecord(currentRead);
@Test public void testOutOfOrder() { int outOfOrderCount = 0; iter = new ArtificialPatternedSAMIterator(startingChr,endingChr,readCount,0,header, ArtificialPatternedSAMIterator.PATTERN.RANDOM_READS); if (!iter.hasNext()) { fail("no reads in the ArtificialPatternedSAMIterator"); } SAMRecord last = iter.next(); while (iter.hasNext()) { SAMRecord rec = iter.next(); if (!(rec.getReferenceIndex() > last.getReferenceIndex()) && (rec.getAlignmentStart() <= last.getAlignmentStart())) { ++outOfOrderCount; } last = rec; } assertTrue(outOfOrderCount > 0); }
iter = new ArtificialPatternedSAMIterator(this.startingChr, this.endingChr, this.readsPerChr,
@Test public void testInOrder() { iter = new ArtificialPatternedSAMIterator(startingChr,endingChr,readCount,0,header, ArtificialPatternedSAMIterator.PATTERN.IN_ORDER_READS); if (!iter.hasNext()) { fail("no reads in the ArtificialPatternedSAMIterator"); } SAMRecord last = iter.next(); while (iter.hasNext()) { SAMRecord rec = iter.next(); if (!(rec.getReferenceIndex() > last.getReferenceIndex()) && (rec.getAlignmentStart() <= last.getAlignmentStart())) { fail("read " + rec.getReadName() + " out of order compared to last read, " + last.getReadName()); } last = rec; } } @Test