public void Backtrack()
{
AbstractMachineState state = new AbstractMachineState(new AMFactory());
AMProgram program = (AMProgram)state.Program;
state.Backtrack();
Assert.IsNotNull(program.P);
ProgramClause nextClause = new ProgramClause();
state.B = new Choicepoint(2, null, null, null, nextClause, 3, null);
state.Backtrack();
Assert.AreSame(program.P, nextClause);
}