public void KeepOrder2()
{
List<int> results = new List<int>();
Random r = new Random();
StartPoint<int> s = Helpers.GetStartpointCounter(1, 50);
TaskNode<int, int> process = new TaskNode<int, int>(
(int input, IWritableQueue<int> output) =>
{
int sleeptime = r.Next(50);
Thread.Sleep(sleeptime);
output.Send(input);
}
) { ThreadNumber = 5, KeepOrder = true };
Collector<int> n = new Collector<int>();
Flow f = Flow.FromAsciiArt("c<----b<---0a", new Dictionary<char, TaskNode>() { { 'a', s }, { 'b', process }, { 'c', n } });
f.Start();
f.RunToCompletion();
int vorig = 0;
foreach (var item in n.Items)
{
Assert.AreEqual(vorig + 1, item);
vorig = item;
}
}