BatchFlow.UnitTests.Helpers.ConnectStartFilterEnd C# (CSharp) Метод

ConnectStartFilterEnd() статический приватный Метод

static private ConnectStartFilterEnd ( TaskNode s, TaskNode filter, TaskNode n ) : Flow
s TaskNode
filter TaskNode
n TaskNode
Результат Flow
        internal static Flow ConnectStartFilterEnd(TaskNode s, TaskNode filter, TaskNode n)
        {
            Flow flow = new Flow();
            flow.AddNode(s);
            flow.AddNode(filter);
            flow.AddNode(n);
            flow.ConnectNodes(s, filter, 0);
            flow.ConnectNodes(filter, n, 0);
            flow.Error += new EventHandler<Flow.ErrorEventArgs>(flow_Error);
            return flow;
        }

Usage Example

Пример #1
0
        public void ThreeStepWithFilter()
        {
            List <string>    results = new List <string>();
            StartPoint <int> s       = Helpers.GetStartpointCounter(1, 100);
            // pass only numbers divisible by three with no 2 in them
            // Output in
            TaskNode <int, string> filter = Helpers.GetFilter();

            filter.ItemProcessed += new EventHandler <TaskNode.ItemEventArgs>(EndItemProcessed);

            EndPoint <string> n = Helpers.GetEndpoint(results);

            Flow flow = Helpers.ConnectStartFilterEnd(s, filter, n);

            flow.Start();
            flow.RunToCompletion();

            Assert.Contains(flow.Status, new List <RunStatus>()
            {
                RunStatus.Stopped, RunStatus.Stopping
            });

            Assert.AreEqual(27, results.Count);
            Assert.AreEqual(results.Count, n.ItemsProcessed);
            Assert.AreEqual(1, s.ItemsProcessed);
            Console.WriteLine(flow.GetStateSnapshot());
            Assert.Greater(s.TotalSecondsProcessing, 0);
            Assert.Greater(filter.TotalSecondsProcessing, 0);
            Assert.Greater(filter.TotalSecondsBlocked, 0);

            // Each node works with one thread, so order is maintained, so:
            Assert.AreEqual('3', results[0][0]);
        }
All Usage Examples Of BatchFlow.UnitTests.Helpers::ConnectStartFilterEnd