@Test
public void testFunctionInvocationWithKeyword() {

    String inputExpression = "date and time( \"2016-07-29T19:47:53\" )";
    BaseNode functionBase = parse( inputExpression );
    assertThat( functionBase, is( instanceOf( FunctionInvocationNode.class ) ) );
    assertThat( functionBase.getText(), is( inputExpression ) );
    FunctionInvocationNode function = (FunctionInvocationNode) functionBase;
    assertThat( function.getName(), is( instanceOf( NameRefNode.class ) ) );
    assertThat( function.getName().getText(), is( "date and time" ) );
    assertThat( function.getParams(), is( instanceOf( ListNode.class ) ) );
    assertThat( function.getParams().getElements().size(), is( 1 ) );
    assertThat( function.getParams().getElements().get( 0 ), is( instanceOf( StringNode.class ) ) );
}