@Test(dataProvider = "gzippedBedTestData") public void testReadActualHeader(final File gzippedBedFile, final int firstFeatureOffset) throws IOException { // Given an indexable SOURCE on a BED file, test that readActualHeader retains the correct offset // of the first feature, whether there is a header or not BEDCodec bedCodec = new BEDCodec(); try (final InputStream is = ParsingUtils.openInputStream(gzippedBedFile.getPath()); final BlockCompressedInputStream bcis = new BlockCompressedInputStream(is)) { AsciiLineReaderIterator it = (AsciiLineReaderIterator) bedCodec.makeIndexableSourceFromStream(bcis); Object header = bedCodec.readActualHeader(it); // BEDCodec doesn't model or return the BED header, even when there is one! Assert.assertNull(header); Assert.assertEquals(BlockCompressedFilePointerUtil.getBlockAddress(it.getPosition()), 0); Assert.assertEquals(BlockCompressedFilePointerUtil.getBlockOffset(it.getPosition()), firstFeatureOffset); } }