public async Task NextMethodCyclesWhenMaximumValueIsReached()
{
var stateProvider = GetStateProvider();
var sequenceGenerator = new SequenceGenerator(stateProvider);
var sequence = await CreateSequence(stateProvider, maxValue: 2, cycle: true);
var sequenceKey = await stateProvider.AddAsync(sequence);
var nextValue1 = await sequenceGenerator.NextAsync(sequenceKey);
var nextValue2 = await sequenceGenerator.NextAsync(sequenceKey);
var nextValue3 = await sequenceGenerator.NextAsync(sequenceKey);
Assert.IsTrue(nextValue1 == 1);
Assert.IsTrue(nextValue2 == 2);
Assert.IsTrue(nextValue3 == 1);
}