function testSimpleTree() {
  var e = schema.getEmployee();
  var j = schema.getJob();

  var treeBefore =
      'select(join_pred(Employee.jobId eq Job.id))\n' +
      '-cross_product\n' +
      '--table_access(Employee)\n' +
      '--table_access(Job)\n';

  var treeAfter =
      'join(type: inner, join_pred(Employee.jobId eq Job.id))\n' +
      '-table_access(Employee)\n' +
      '-table_access(Job)\n';

  var constructTree = function() {
    var queryContext = new lf.query.SelectContext(schema);
    queryContext.from = [e, j];
    queryContext.where = e.jobId.eq(j.id);

    var selectNode = new lf.proc.SelectNode(queryContext.where);
    var crossProductNode = new lf.proc.CrossProductNode();
    selectNode.addChild(crossProductNode);
    queryContext.from.forEach(function(tableSchema) {
      crossProductNode.addChild(new lf.proc.TableAccessNode(tableSchema));
    });

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

  var pass = new lf.proc.ImplicitJoinsPass();
  lf.testing.treeutil.assertTreeTransformation(
      constructTree(), treeBefore, treeAfter, pass);
}
Tests a simple tree, where only one cross product node exists.