@Test
public void testCastOrExpression() {

  Parser<Expression> parser = ExpressionParser.castOrExpression(ExpressionParser.IDENTIFIER);
  TerminalParserTest.assertResult(parser, "(foo)", Identifier.class, "foo");
  TerminalParserTest.assertResult(parser, "(foo) bar", CastExpression.class, "((foo) bar)");
  TerminalParserTest.assertResult(parser, "(foo<int>) bar", CastExpression.class, "((foo<int>) bar)");
  TerminalParserTest.assertFailure(parser, "(foo<int>) ", 1, 12);
}