private static void assertParseException(int offset, int line, int column, final String json) {
   ParseException exception =
       assertException(
           ParseException.class,
           new Runnable() {
             public void run() {
               parse(json);
             }
           });
   assertEquals("offset", offset, exception.getOffset());
   assertEquals("line", line, exception.getLine());
   assertEquals("column", column, exception.getColumn());
 }
  @Test
  public void parse_handlesPositionsCorrectlyWhenInputExceedsBufferSize() {
    final String input = "{\n  \"a\": 23,\n  \"b\": 42,\n}";

    ParseException exception =
        assertException(
            ParseException.class,
            new Runnable() {
              public void run() {
                try {
                  new JsonParser(new StringReader(input), 3).parse();
                } catch (IOException e) {
                }
              }
            });

    assertEquals(4, exception.getLine());
    assertEquals(0, exception.getColumn());
    assertEquals(24, exception.getOffset());
  }