Ejemplo n.º 1
0
        public void Merge()
        {
            var chan1 = new Chan<int>();
            var chan2 = new Chan<int>();

            chan1
                .Send(Enumerable.Range(0, 10))
                .ContinueWith(t => chan1.Close());
            chan2
                .Send(Enumerable.Range(0, 10))
                .ContinueWith(t => chan2.Close());

            var mergedChan = chan1.Merge(chan2);

            var cnt = 0;
            var collection =
                mergedChan.ForEach(item => cnt++);

            if (!collection.Wait(TimeSpan.FromSeconds(10)))
            {
                Assert.Fail();
            }

            Assert.AreEqual(20, cnt);
        }