### Question:
BufferedReader extends Reader { public long skip(long amount) { if (amount < 0) throw new ProgrammerError("amount to skip can't be negative"); verifyNotClosed(); if (amount < 1) return 0; if (end - pos >= amount) { pos += (int) amount; return amount; } long amountSkipped = end - pos; pos = end; while (amountSkipped < amount) { if (fillBuf() == -1) { return amountSkipped; } if (end - pos >= amount - amountSkipped) { pos += (int) (amount - amountSkipped); return amount; } amountSkipped += (end - pos); pos = end; } return amount; } BufferedReader(Reader reader);  BufferedReader(Reader reader, int size); @Override void close(); void mark(int markLimit); @Override int read(); @Override int read(char[] buffer, int offset, int length); String readLine(); void reset(); long skip(long amount);  }### Answer:
@Test public void testSkip() { BufferedReader br = getBufferedReader(); br.read(); br.read(); int third = br.read(); br.close(); BufferedReader br2 = getBufferedReader(); br2.skip(2); int sut = br2.read(); br2.close(); assertEquals(third, sut); }