public override void Process(object[] arguments)
{
_arguments = arguments;
char[] sep = { '/' };
string arg0 = (string)arguments[0];
_structureName = arg0.Split(sep, 2)[0];
_arity = Int32.Parse(arg0.Split(sep, 2)[1]);
_ai = (string)arguments[1];
}
public void GetStructure() { AbstractMachineState state = SetupMachine(); GetStructureInstruction i = new GetStructureInstruction(); object[] args = { "s/2", "X0" }; i.Process(args); i.Execute(state); Assert.AreEqual("get_structure", i.Name()); Assert.AreEqual(2, i.NumberOfArguments()); AbstractTerm X0 = ((AbstractTerm)state["X0"]).Dereference(); Assert.AreEqual("s", X0.Name); Assert.AreEqual(2, X0.Arity); }