public void ShouldWorkForNormalCase() { var sequence = new CommitPositionSequence(); for (ulong i = 0; i < 10; i++) { sequence.Add(new CommitPosition(i, i)); } var first = sequence.FirstBeforeGap(); first.Should().Be(new CommitPosition(9, 9)); }
public void ShouldWorkForRandomGap() { var random = new Random(); var sequence = new CommitPositionSequence(); var start = (ulong)random.Next(1); for (var i = start; i < start + 100; i++) { sequence.Add(new CommitPosition(i, i)); } var gapPlace = random.Next(1, sequence.Count - 1); sequence.Remove(sequence.ElementAt(gapPlace)); sequence.Remove(sequence.ElementAt(gapPlace)); var first = sequence.FirstBeforeGap(); first.Should().Be(sequence.ElementAt(gapPlace - 1)); }
public void ShouldReturnFirstBefore(CommitPositionSequence sequence, CommitPosition expected) { var first = sequence.FirstBeforeGap(); first.Should().Be(expected); }