public void Select() { var chan = new Chan<int>(); chan .Send(Enumerable.Range(0, 10)) .ContinueWith(t => chan.Close()); var sum = 0; var collection = chan .Select(item => item % 2) .ForEach(item => sum += item); if (!collection.Wait(TimeSpan.FromSeconds(10))) { Assert.Fail(); } Assert.AreEqual(5, sum); }