### Question:
SqlParser { public Statement createStatement(String sql, ParsingOptions parsingOptions) { return (Statement) invokeParser("statement", sql, SqlBaseParser::singleStatement, parsingOptions); } SqlParser(); @Inject  SqlParser(SqlParserOptions options);  SqlParser(SqlParserOptions options, BiConsumer<SqlBaseLexer, SqlBaseParser> initializer); Statement createStatement(String sql, ParsingOptions parsingOptions); Expression createExpression(String expression, ParsingOptions parsingOptions); DataType createType(String expression); PathSpecification createPathSpecification(String expression);  }### Answer:
@Test public void testSetPath() { assertStatement("SET PATH iLikeToEat.apples, andBananas", new SetPath(new PathSpecification(Optional.empty(), ImmutableList.of( new PathElement(Optional.of(new Identifier("iLikeToEat")), new Identifier("apples")), new PathElement(Optional.empty(), new Identifier("andBananas")))))); assertStatement("SET PATH \"schemas,with\".\"grammar.in\", \"their!names\"", new SetPath(new PathSpecification(Optional.empty(), ImmutableList.of( new PathElement(Optional.of(new Identifier("schemas,with")), new Identifier("grammar.in")), new PathElement(Optional.empty(), new Identifier("their!names")))))); try { assertStatement("SET PATH one.too.many, qualifiers", new SetPath(new PathSpecification(Optional.empty(), ImmutableList.of( new PathElement(Optional.empty(), new Identifier("dummyValue")))))); fail(); } catch (RuntimeException e) { } try { SQL_PARSER.createStatement("SET PATH ", new ParsingOptions()); fail(); } catch (RuntimeException e) { } }