public void testEmptyFastq() throws IOException {
   final SequencesReader reader = ReaderTestUtils.getReaderDNAFastq("", mDir, false);
   reader.close();
   final CompressedMemorySequencesReader cmsr =
       new CompressedMemorySequencesReader(
           mDir, new IndexFile(mDir), 5, true, false, new LongRange(0, 0));
   assertEquals(0, cmsr.numberSequences());
 }
  @Override
  public void testEquals() throws IOException {
    final File dir = FileHelper.createTempDirectory(mDir);
    final File otherDir = FileHelper.createTempDirectory(mDir);
    ReaderTestUtils.getReaderDNAFastq("", dir, false).close();
    ReaderTestUtils.getReaderDNAFastq("", otherDir, false).close();

    final CompressedMemorySequencesReader cmsr =
        new CompressedMemorySequencesReader(
            dir, new IndexFile(dir), 5, true, false, new LongRange(0, 0));
    final CompressedMemorySequencesReader other =
        new CompressedMemorySequencesReader(
            otherDir, new IndexFile(dir), 5, true, false, new LongRange(0, 0));
    assertTrue(cmsr.equals(cmsr));
    assertFalse(cmsr.equals(null));
    assertFalse(cmsr.equals(other));
    assertFalse(cmsr.equals("FDSA"));
  }
  public void testOverEndFastq() throws Exception {
    final SequencesReader reader = ReaderTestUtils.getReaderDNAFastq(POSITIONS_FASTQ, mDir, false);
    reader.close();

    new CompressedMemorySequencesReader(
        mDir, new IndexFile(mDir), 5, true, false, new LongRange(3, 8));
    // Now this is OK rather than Exception, since our std behaviour is to warn and clip end that
    // are too high back to the available num seqs
  }
  public void testFastqEnd() throws Exception {
    final SequencesReader reader =
        ReaderTestUtils.getReaderDNAFastq(POSITIONS_FASTQ, mDir, 20, false);
    reader.close();

    final SequencesIterator cmsr =
        new CompressedMemorySequencesReader(
                mDir, new IndexFile(mDir), 5, true, false, new LongRange(5, 6))
            .iterator();

    cmsr.nextSequence();
    checkFastq(cmsr, "r5", "ACGTAC");
    assertFalse(cmsr.nextSequence());
  }
  public void testRanges() throws Exception {
    final SequencesReader reader = ReaderTestUtils.getReaderDNAFastq(SMALL_FASTQ, mDir, 20, false);
    reader.close();

    final CompressedMemorySequencesReader cmsr =
        new CompressedMemorySequencesReader(
            mDir, new IndexFile(mDir), 5, true, false, LongRange.NONE);
    final byte[] foo = new byte[6];
    cmsr.readQuality(0, foo, 4, 6);
    final String qual = "EFGHIJ";
    for (int i = 0; i < foo.length; i++) {
      assertEquals(qual.charAt(i) - '!', foo[i]);
    }
  }