Microsoft.Ccr.Core.MultipleItemGather.Execute C# (CSharp) Method

Execute() public method

public Execute ( ) : IEnumerator
return IEnumerator
        public override IEnumerator<ITask> Execute()
        {
            RegisterReceivers ();
            return base.Execute ();
        }

Usage Example

Ejemplo n.º 1
0
        public void CleanupDoneInlineWithoutArbiter()
        {
            Port<int> pa = new Port<int> ();
            Port<string> pb = new Port<string> ();

            Type[] types = new Type[] { typeof (int), typeof (string) };
            IPortReceive[] ports = new IPortReceive[] { pa, pb };
            int count = 1;
            Handler<ICollection[]> handler = (cols) => { };
            var mig = new MultipleItemGather (types, ports, count, handler);
            var dq = new SerialDispatchQueue ();
            dq.exec = false;
            mig.TaskQueue = dq;

            mig.Execute ();

            var rec = ports [0].GetReceivers () [0];
            var rec2 = ports [0].GetReceivers () [1];
            ITask task = null;
            Assert.IsTrue (rec.Evaluate (new PortElement<int> (10), ref task), "#1");
            Assert.IsNotNull (task, "#2");
            Assert.AreEqual (ReceiverTaskState.CleanedUp, mig.State, "#3");
            Assert.AreEqual (ReceiverTaskState.Persistent, rec.State, "#4");
            Assert.AreEqual (ReceiverTaskState.Persistent, rec2.State, "#5");
            Assert.AreEqual (0, dq.count, "#6");
        }
All Usage Examples Of Microsoft.Ccr.Core.MultipleItemGather::Execute