@Test
  public void testUpdateWithWhereSingleSetExpr() throws ParseException {
    ASTNode ast = parse("UPDATE src SET key = -3+(5*9)%8, val = cast(6.1 + c as INT), d = d - 1 WHERE value IS NULL");
    Assert.assertEquals("AST doesn't match",
      "(tok_update_table (tok_tabname src) " +
        "(tok_set_columns_clause " +
        "(= (tok_table_or_col key) (+ (- 3) (% (* 5 9) 8))) " +
        "(= (tok_table_or_col val) (tok_function tok_int (+ 6.1 (tok_table_or_col c)))) " +
        "(= (tok_table_or_col d) (- (tok_table_or_col d) 1))) " +
        "(tok_where (tok_function isnull (tok_table_or_col value))))",
      ast.toStringTree());
  }
various Parser tests for INSERT/UPDATE/DELETE
parser/src/test/org/apache/hadoop/hive/ql/parse/TestIUD.java