"|a|a|b|b|c|c|d|e|f|d|e|f|\n");
int n = 0;
List<Instruction> expectedInstructions = asList(
new MakeInstruction(id(n++), TABLE_INSTANCE_NAME, "fixture"),
new CallInstruction(id(n++),TABLE_INSTANCE_NAME, "table", new Object[] {asList(
asList("a", "fa?", "b", "fb?", "c", "fc?", "d", "e", "f", "fd?", "fe?", "ff?"),
asList("a", "a", "b", "b", "c", "c", "d", "e", "f", "d", "e", "f"))}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "beginTable"),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "reset"),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "set", new Object[]{"a", "a"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "set", new Object[]{"b", "b"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "set", new Object[]{"c", "c"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "set", new Object[]{"d", "d"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "set", new Object[]{"e", "e"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "set", new Object[]{"f", "f"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "execute"),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "get", new Object[]{"fa"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "get", new Object[]{"fb"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "get", new Object[]{"fc"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "get", new Object[]{"fd"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "get", new Object[]{"fe"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "get", new Object[]{"ff"}),
new CallInstruction(id(n++), TABLE_INSTANCE_NAME, "endTable")
);
assertEquals(expectedInstructions, instructions);
}