function testTreeUnaffected1() {
  var tf = schema.table('TableFoo');

  var treeBefore =
      'project(COUNT(TableFoo.id1))\n' +
      '-aggregation(COUNT(TableFoo.id1))\n' +
      '--table_access(TableFoo)\n';

  var constructTree = function() {
    var queryContext = new lf.query.SelectContext(schema);
    queryContext.from = [tf];
    queryContext.columns = [lf.fn.count(tf['id1'])];

    var tableAccessStep = new lf.proc.TableAccessFullStep(
        global, queryContext.from[0]);
    var aggregationStep = new lf.proc.AggregationStep(queryContext.columns);
    var projectStep = new lf.proc.ProjectStep(queryContext.columns, null);
    projectStep.addChild(aggregationStep);
    aggregationStep.addChild(tableAccessStep);

    return {
      queryContext: queryContext,
      root: projectStep
    };
  };

  lf.testing.treeutil.assertTreeTransformation(
      constructTree(), treeBefore, treeBefore, pass);
}
Test that this optimization does not apply COUNT(column) is used.