public async Task FirstRequestFails() { var source = new DataSource <int>(AllData, DataSource <int> .ThrowException); var collection = new IncrementalLoadingCollection <DataSource <int>, int>(source, PageSize); await Assert.ThrowsExceptionAsync <AggregateException>(collection.LoadMoreItemsAsync(0).AsTask); Assert.IsTrue(!collection.Any()); var requests = new List <Task>(); for (int pageNum = 1; pageNum <= Pages; pageNum++) { requests.Add(collection.LoadMoreItemsAsync(0).AsTask() .ContinueWith(t => Assert.IsTrue(t.IsCompletedSuccessfully))); } await Task.WhenAll(requests); CollectionAssert.AreEqual(AllData, collection); }