Execute() public method

public Execute ( AbstractMachineState state ) : void
state AbstractMachineState
return void
        public void TryMeElse()
        {
            AbstractMachineState state = SetupMachine();

            AMProgram program = (AMProgram)state.Program;
            AMTrail trail = (AMTrail)state.Trail;

            program.AddLabel("foobar/2", new ProgramClause());

            TryMeElseInstruction i = new TryMeElseInstruction();

            object[] args = { "foobar/2" };

            i.Process(args);

            program.NumberOfArguments = 2;

            i.Execute(state);

            Assert.AreEqual("try_me_else", i.Name());
            Assert.AreEqual(1, i.NumberOfArguments());
            Assert.AreEqual(2, state.B.Arity);
            Assert.IsNull(state.B.B);
            Assert.AreSame(state.B.CE, state.E);
            Assert.AreSame(state.B.CP, program.CP);
            Assert.AreSame(state.B.NextClause, program["foobar/2"]);
            Assert.AreEqual(state.B.TR, trail.TR);
        }