Пример #1
0
        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);
        }