public void CallVar()
{
AbstractMachineState state = SetupMachine();
CallVariableInstruction i = new CallVariableInstruction();
i.Process(new string [] { "X0" });
AMProgram program = (AMProgram)state.Program;
ProgramClause x = new ProgramClause("male", 1);
program.AddLabel("male/1", x);
AbstractTerm X0 = (AbstractTerm)state["X0"];
StructureTerm s = new StructureTerm("male", 1);
s.Next = new ConstantTerm("ali");
X0.Assign(s);
i.Execute(state);
Assert.AreSame(program.P, x);
Assert.AreEqual("callvar", i.Name());
Assert.AreEqual(1, i.NumberOfArguments());
}