System.Linq.Tests.SelectTests.Select_ExceptionThrownFromSelector_IteratorCanBeUsedAfterExceptionIsCaught C# (CSharp) Méthode

Select_ExceptionThrownFromSelector_IteratorCanBeUsedAfterExceptionIsCaught() private méthode

        public void Select_ExceptionThrownFromSelector_IteratorCanBeUsedAfterExceptionIsCaught()
        {
            int[] source = new[] { 1, 2, 3, 4, 5 };
            Func<int, int> selector = i =>
            {
                if (i == 1)
                    throw new InvalidOperationException();
                return i + 1;
            };

            var result = source.Select(selector);
            var enumerator = result.GetEnumerator();

            Assert.Throws<InvalidOperationException>(() => enumerator.MoveNext());
            enumerator.MoveNext();
            Assert.Equal(3 /* 2 + 1 */, enumerator.Current);
        }
SelectTests