@Override
@Test
public void testReady() throws IOException {

	UnsyncBufferedReader unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader(""));
	Assert.assertTrue(unsyncBufferedReader.ready());
	unsyncBufferedReader = new UnsyncBufferedReader(
		new InputStreamReader(new ByteArrayInputStream(new byte[0])));
	Assert.assertFalse(unsyncBufferedReader.ready());
	unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader("abcd") {
			@Override
			public int read(char[] chars, int offset, int length)
				throws IOException {
				_ready = false;
				return super.read(chars, offset, length);
			}
			@Override
			public boolean ready() {
				return _ready;
			}
			private boolean _ready = true;
		});
	char[] chars = new char[2];
	Assert.assertEquals(2, unsyncBufferedReader.read(chars));
	Assert.assertEquals("ab", new String(chars));
	unsyncBufferedReader.mark(2);
	Assert.assertTrue(unsyncBufferedReader.ready());
}