function checkTableAccessByRowId(table) {
  var step = new lf.proc.TableAccessByRowIdStep(lf.Global.get(), table);

  // Creating a "dummy" child step that will return only two row IDs.
  var rows = [
    table.createRow({id: 1, name: 'a'}),
    table.createRow({id: 2, name: 'b'})
  ];
  rows[0].assignRowId(0);
  rows[1].assignRowId(1);
  step.addChild(new lf.proc.NoOpStep(
      [lf.proc.Relation.fromRows(rows, [table.getName()])]));

  return step.exec().then(
      function(relations) {
        var relation = relations[0];
        assertFalse(relation.isPrefixApplied());
        assertArrayEquals([table.getEffectiveName()], relation.getTables());

        assertEquals(rows.length, relation.entries.length);
        relation.entries.forEach(function(entry, index) {
          var rowId = rows[index].id();
          assertEquals(rowId, entry.row.id());
          assertEquals('dummyName' + rowId, entry.row.payload().name);
        });
      });
}
Checks that a TableAccessByRowIdStep that refers to the given table produces
the expected results.
@param {!lf.schema.Table} table
@return {!IThenable}