예제 #1
0
        public void ForEachAsync_12()
        {
            IEnumerable <int> enumerable = new List <int> {
                3, 4, 5
            };
            var visitedItems = new List <int>();

            enumerable.ForEachAsync((i, c) => { visitedItems.Add(i); return(Task.CompletedTask); }).Wait();
            visitedItems.SequenceEqual(enumerable).ShouldBeTrue();
        }
예제 #2
0
        public void ForEachAsync_32()
        {
            IEnumerable <int> enumerable = new List <int> {
                3, 4, 5
            };
            var visitedItems = new List <int>();

            enumerable.ForEachAsync((Func <int, CancellationToken, Task>)null).Wait();
            visitedItems.ShouldBeEmpty();
        }
예제 #3
0
        public void ForEachAsync_42()
        {
            IEnumerable <int> enumerable = new List <int> {
                3, 4, 5
            };
            var visitedItems = new List <int>();
            var cs           = new CancellationTokenSource();

            enumerable.ForEachAsync((i, c) =>
            {
                visitedItems.Add(i);
                if (i == 4)
                {
                    cs.Cancel();
                }
                return(Task.CompletedTask);
            }, cs.Token).Wait();
            visitedItems.SequenceEqual(enumerable).ShouldBeFalse();
            visitedItems.ShouldContain(3);
            visitedItems.ShouldContain(4);
            visitedItems.ShouldNotContain(5);
        }