AjTalk.Tests.Language.AgentObjectTests.CreateAndInvokeAgentTwice C# (CSharp) Method

CreateAndInvokeAgentTwice() private method

private CreateAndInvokeAgentTwice ( ) : void
return void
        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);
        }