function testCreate_UpdatePlan() {
  var table = env.schema.table('tableA');

  var queryBuilder = new lf.query.UpdateBuilder(lf.Global.get(), table);
  queryBuilder.
      set(table['name'], 'NewName').
      where(lf.op.and(table['id'].eq('id'), table['name'].eq('name')));

  var query = queryBuilder.getQuery();
  assertEquals(
      2,
      /** @type {!lf.pred.PredicateNode} */ (query.where).getChildCount());

  var expectedTree =
      'update(tableA)\n' +
      '-select(combined_pred_and)\n' +
      '--table_access(tableA)\n';

  var logicalPlan = logicalPlanFactory.create(query);
  assertEquals(expectedTree, lf.tree.toString(logicalPlan.getRoot()));

  assertEquals(
      2,
      /** @type {!lf.pred.PredicateNode} */ (query.where).getChildCount());
}
Tests that the generated logical query plan for a simple UPDATE query is as
expected and also that the query object itself is not mutated as part of
generating a plan.