public void CreateAndInvokeAgentTwice()
{
ManualResetEvent handle1 = new ManualResetEvent(false);
ManualResetEvent handle2 = new ManualResetEvent(false);
int count = 0;
AgentObject agent = new AgentObject();
IMethod method = new FunctionalMethod((x, y, args) =>
{
count++;
return ((ManualResetEvent)args[0]).Set();
});
agent.ExecuteMethod((Machine)null, method, new object[] { handle1 });
agent.ExecuteMethod((Machine)null, method, new object[] { handle2 });
handle1.WaitOne();
handle2.WaitOne();
Assert.AreEqual(2, count);
}