public void Forward() { var source = new Chan<int>(); var target = new Chan<int>(); var tasks = new Task[2]; tasks[0] = source.Forward(target); source .Send(Enumerable.Range(0, 10)) .ContinueWith(t => source.Close()); var cnt = 0; tasks[1] = target.ForEach(item => cnt++); if (!Task.WaitAll(tasks, TimeSpan.FromSeconds(10))) { Assert.Fail(); } }