Exemple #1
0
    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));
    }
Exemple #2
0
    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));
    }
Exemple #3
0
    public void ShouldReturnFirstBefore(CommitPositionSequence sequence, CommitPosition expected)
    {
        var first = sequence.FirstBeforeGap();

        first.Should().Be(expected);
    }