@Test
public void testReadLine() throws Exception {

	// With \r
	UnsyncBufferedReader unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader("abc\rde"), 5);
	Assert.assertEquals("abc", unsyncBufferedReader.readLine());
	Assert.assertEquals(4, _indexField.getInt(unsyncBufferedReader));
	// With \n
	unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader("abc\nde"), 5);
	Assert.assertEquals("abc", unsyncBufferedReader.readLine());
	Assert.assertEquals(4, _indexField.getInt(unsyncBufferedReader));
	// With \r\n
	unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader("abc\r\nde"), 5);
	Assert.assertEquals("abc", unsyncBufferedReader.readLine());
	Assert.assertEquals(5, _indexField.getInt(unsyncBufferedReader));
	// Without \r or \n
	unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader("abc"), 5);
	Assert.assertEquals("abc", unsyncBufferedReader.readLine());
	Assert.assertEquals(0, _indexField.getInt(unsyncBufferedReader));
	// Empty
	Assert.assertNull(unsyncBufferedReader.readLine());
	// Load multiple times for one line
	unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader("abcdefghijklmn\r"), 5);
	Assert.assertEquals("abcdefghijklmn", unsyncBufferedReader.readLine());
	Assert.assertEquals(5, _indexField.getInt(unsyncBufferedReader));
	unsyncBufferedReader = new UnsyncBufferedReader(
		new StringReader("abcdefghijklmn\r"), 5);
	Assert.assertEquals('a', unsyncBufferedReader.read());
	Assert.assertEquals('b', unsyncBufferedReader.read());
	unsyncBufferedReader.mark(1);
}