public void checkJParse(String filename) throws Exception {
    URL testFolderURL = TestParser.class.getClassLoader().getResource(SAMPLES_DIR);
    String testFolder = testFolderURL.getPath();

    String J_pathToFile = testFolder + "/" + filename;

    ANTLRInputStream input = new ANTLRFileStream(J_pathToFile);
    JLexer l = new JLexer(input);
    TokenStream tokens = new CommonTokenStream(l);

    JParser parser = new JParser(tokens);
    parser.removeErrorListeners();
    int[] errors = {0};
    parser.addErrorListener(
        new BaseErrorListener() {
          @Override
          public void syntaxError(
              Recognizer<?, ?> recognizer,
              Object offendingSymbol,
              int line,
              int charPositionInLine,
              String msg,
              RecognitionException e) {
            errors[0]++;
          }
        });
    ParserRuleContext tree = parser.file();
    assertTrue(tree != null);
    assertEquals(Token.EOF, tree.getStop().getType());
    assertEquals(0, errors[0]);
  }