public void CreateAndInvokeAgentUsingInterpreter()
{
Machine machine = new Machine();
Block block = new Block();
AjTalk.Language.ExecutionContext context = new AjTalk.Language.ExecutionContext(machine, null, block, null);
Interpreter interpreter = new Interpreter(context);
ManualResetEvent handle = new ManualResetEvent(false);
bool executed = false;
AgentObject agent = new AgentObject();
agent.ExecuteMethod(
interpreter,
new FunctionalMethod((x, y, args) =>
{
executed = true;
return handle.Set();
}),
null);
handle.WaitOne();
Assert.IsTrue(executed);
}