Exemplo n.º 1
0
        public async Task Complete_WithMultipleDataLoaders_ShouldClearQueue()
        {
            var token           = new CancellationTokenSource().Token;
            var context         = new DataLoaderContext();
            var dataLoaderMocks = Enumerable.Range(0, 20).Select(_ => new Mock <IExecutableDataLoader>()).ToList();

            dataLoaderMocks.ForEach(mock => (context as IDataLoaderContext).QueueExecutableDataLoader(mock.Object));
            await context.Complete(token);

            dataLoaderMocks.ForEach(mock => mock.Verify(x => x.ExecuteAsync(token), Times.Once));

            await context.Complete(token);

            await context.Complete(token);

            dataLoaderMocks.ForEach(mock => mock.Verify(x => x.ExecuteAsync(token), Times.Once));
        }
Exemplo n.º 2
0
        public async Task Complete_MultipleLoaderTask_ShouldNotBlock()
        {
            var context = new DataLoaderContext();
            var task    = MultipleLoaderTask(context);
            await context.Complete(CancellationToken.None);

            var result = await task.ConfigureAwait(false);

            Assert.That(result, Is.EqualTo(9));
        }
Exemplo n.º 3
0
        public async Task Complete_SingleLoaderTask_ShouldNotBlock()
        {
            var context = new DataLoaderContext();
            var task    = SingleLoaderTask(context);
            await context.Complete(CancellationToken.None);

            var result = await task;

            Assert.That(result, Is.EqualTo(7));
        }
Exemplo n.º 4
0
        public async Task Complete_WithOneDataLoader_ShouldCallExecuteAsyncMethod()
        {
            var token          = new CancellationTokenSource().Token;
            var context        = new DataLoaderContext();
            var dataLoaderMock = new Mock <IExecutableDataLoader>();

            (context as IDataLoaderContext).QueueExecutableDataLoader(dataLoaderMock.Object);
            await context.Complete(token);

            dataLoaderMock.Verify(x => x.ExecuteAsync(token), Times.Once);
        }
Exemplo n.º 5
0
 public async Task Complete_WithoutQueuedLoaders_ShouldNotThrow()
 {
     var context = new DataLoaderContext();
     await context.Complete(CancellationToken.None);
 }