public static IAsyncEnumerable <T> CreateAsyncStream <T>(T initialState, Func <T, bool> condition, Func <T, T> iterate, int millisDelay) { return(AsyncEnumerableEx.Generate(initialState, condition, v => { Thread.Sleep(millisDelay); return iterate(v); }, v => v)); }
public async Task ExceptionHandling_ShouldThrowUnwrappedException2() { try { var asyncEnumerable = AsyncEnumerableEx.Generate(15, (x) => { throw new InvalidOperationException(); }, (x) => { return(20); }, (x) => { return(2); }); await asyncEnumerable.ToArrayAsync(); } catch (AggregateException) { Assert.True(false, "AggregateException has been thrown instead of InvalidOperationException"); } catch (InvalidOperationException) { } }
public void Generate_Null() { Assert.Throws <ArgumentNullException>(() => AsyncEnumerableEx.Generate <int, int>(0, default, x => x, x => x));