public void Catch12() { var res = AsyncEnumerable.Catch(Enumerable.Empty <IAsyncEnumerable <int> >()); var e = res.GetEnumerator(); NoNext(e); }
public void Catch_Null() { AssertThrows <ArgumentNullException>(() => AsyncEnumerable.Catch <int, Exception>(default(IAsyncEnumerable <int>), x => null)); AssertThrows <ArgumentNullException>(() => AsyncEnumerable.Catch <int, Exception>(AsyncEnumerable.Return(42), default(Func <Exception, IAsyncEnumerable <int> >))); AssertThrows <ArgumentNullException>(() => AsyncEnumerable.Catch <int>(default(IAsyncEnumerable <int>), AsyncEnumerable.Return(42))); AssertThrows <ArgumentNullException>(() => AsyncEnumerable.Catch <int>(AsyncEnumerable.Return(42), default(IAsyncEnumerable <int>))); AssertThrows <ArgumentNullException>(() => AsyncEnumerable.Catch <int>(default(IAsyncEnumerable <int>[]))); AssertThrows <ArgumentNullException>(() => AsyncEnumerable.Catch <int>(default(IEnumerable <IAsyncEnumerable <int> >))); }
public async Task Catch13() { var ex = new InvalidOperationException("Bang!"); var xs = new[] { 1, 2, 3 }.ToAsyncEnumerable().Concat(AsyncEnumerable.Throw <int>(ex)); var ys = new[] { 4, 5, 6 }.ToAsyncEnumerable(); var res = AsyncEnumerable.Catch(new[] { xs, xs, ys, ys }); await SequenceIdentity(res); }
public void Catch7() { var xs = new[] { 1, 2, 3 }.ToAsyncEnumerable(); var ys = new[] { 4, 5, 6 }.ToAsyncEnumerable(); var res = AsyncEnumerable.Catch(xs, ys); var e = res.GetEnumerator(); HasNext(e, 1); HasNext(e, 2); HasNext(e, 3); NoNext(e); }
public void Catch11() { var ex = new InvalidOperationException("Bang!"); var xs = new[] { 1, 2, 3 }.ToAsyncEnumerable().Concat(AsyncEnumerable.Throw <int>(ex)); var res = AsyncEnumerable.Catch(new[] { xs, xs }); var e = res.GetEnumerator(); HasNext(e, 1); HasNext(e, 2); HasNext(e, 3); HasNext(e, 1); HasNext(e, 2); HasNext(e, 3); AssertThrows <Exception>(() => e.MoveNext().Wait(WaitTimeoutMs), ex_ => ((AggregateException)ex_).Flatten().InnerExceptions.Single() == ex); }
public void Catch8() { var ex = new InvalidOperationException("Bang!"); var xs = new[] { 1, 2, 3 }.ToAsyncEnumerable().Concat(AsyncEnumerable.Throw <int>(ex)); var ys = new[] { 4, 5, 6 }.ToAsyncEnumerable(); var res = AsyncEnumerable.Catch(xs, ys); var e = res.GetEnumerator(); HasNext(e, 1); HasNext(e, 2); HasNext(e, 3); HasNext(e, 4); HasNext(e, 5); HasNext(e, 6); NoNext(e); }