public async Task SequenceIds_are_generated_correctly()
        {
            // Test that SequenceIds are generate like the following: 0, 1, 2, 3, etc.

            var ct         = CancellationToken.None;
            var ids        = new List <int>();
            var dataLoader = new DataLoader("sut", new DelegatedDataLoaderStrategy(Load), DataLoaderConcurrentMode.CancelPrevious, s => false);

            await dataLoader.Load(ct);

            Assert.Single(ids);
            Assert.Equal(0, ids[0]);

            await dataLoader.Load(ct);

            Assert.Equal(2, ids.Count);
            Assert.Equal(0, ids[0]);
            Assert.Equal(1, ids[1]);

            var trigger = new ManualDataLoaderTrigger();

            dataLoader.AddTrigger(trigger);
            trigger.Trigger();

            Assert.Equal(3, ids.Count);
            Assert.Equal(0, ids[0]);
            Assert.Equal(1, ids[1]);
            Assert.Equal(2, ids[2]);

            Task <object> Load(CancellationToken ct, IDataLoaderRequest request)
            {
                ids.Add(request.SequenceId);

                return(Task.FromResult <object>(null));
            }
        }