### Question:
DiskFailoverSource extends EventSource.Base { @Override public void open() throws IOException { dfMan.open(); dfMan.recover(); } DiskFailoverSource(DiskFailoverManager dfMan); @Override Event next(); @Override void getReports(String namePrefix, Map<String, ReportEvent> reports); void recover(); @Override void close(); @Override void open();  }### Answer:
@Test(expected = IOException.class) public void testSeqfileErrorOnOpen() throws IOException, InterruptedException { LOG.info("Exception on open empty file with seqfile"); File tmpdir = FileUtil.mktempdir(); tmpdir.deleteOnExit(); File corrupt = new File(tmpdir, "walempty.00000000.20091104-101213997-0800.seq"); LOG.info("corrupt file is named: " + corrupt.getAbsolutePath()); corrupt.createNewFile(); corrupt.deleteOnExit(); File commit = new File(tmpdir, "committed"); commit.deleteOnExit(); EventSource src = new SeqfileEventSource(corrupt.getAbsolutePath()); try { src.open(); } catch (IOException e) { throw e; } finally { FileUtil.rmr(tmpdir); } }