### Question:
InMemoryReader extends StringReader { public final int read() { if (position >= buffer.length) { return -1; } value = buffer[position]; position++; return value & 0xff; } InMemoryReader(char[] buffer);  InMemoryReader(String bufferSource); final void close(); final int read(); int read(char b[]); int read(char destination[], int destinationOffset, int destinationLength); final long skip(long n); final void mark(int limit); final void reset(); final boolean markSupported(); boolean ready();  }### Answer:
@Test public void test() { String content = new String("123"); char [] readBy = new char[2]; InMemoryReader reader = new InMemoryReader(content); for (int index=0; index < 5; index++) { int read = reader.read(readBy, 0, readBy.length); puts(read, readBy, new String(readBy)); } }