WPInputStream extends InputStream { public String readWPHex() throws IOException { return StringUtils.leftPad(Integer.toString(readWP(), 16), 2, '0'); } WPInputStream(InputStream in); int readWPShort(); long readWPLong(); byte readWPByte(); void skipWPByte(int numOfBytes); char readWPChar(); String readWPString(int length); String readWPHexString(int numOfBytes); String readWPHex(); int readWP(); @Override int read(); @Override int read(byte[] b); @Override int read(byte[] b, int off, int len); @Override long skip(long n); @Override int available(); @Override void close(); @Override synchronized void mark(int readlimit); @Override synchronized void reset(); @Override boolean markSupported();  }
@Test public void testReadHex() throws Exception { try (WPInputStream wpInputStream = emptyWPStream()) { wpInputStream.readWPHex(); fail("should have thrown EOF"); } catch (EOFException e) { } }