public async Task starting_from_first_detection_some_gaps_with_nonzero_buffer() { NumberOfStreams = 10; await PublishSingleThreaded(); var gaps = new long[] { NumberOfEvents - 100, NumberOfEvents - 95, NumberOfEvents - 88, NumberOfEvents - 33 }; await deleteEvents(gaps); var statistics = await theDetector.Detect(CancellationToken.None); // This gets under the gap, using the buffer statistics.CurrentMark.ShouldBe(NumberOfEvents - 101); statistics.HighestSequence.ShouldBe(NumberOfEvents); var statistics2 = await theDetector.DetectInSafeZone(CancellationToken.None); statistics2.CurrentMark.ShouldBe(NumberOfEvents - 96); }
public async Task starting_from_first_detection_some_gaps_with_nonzero_buffer() { NumberOfStreams = 10; await PublishSingleThreaded(); var gaps = new long[] { NumberOfEvents - 100, NumberOfEvents - 95, NumberOfEvents - 88, NumberOfEvents - 33 }; await deleteEvents(gaps); var statistics = await theDetector.Detect(CancellationToken.None); // This gets under the gap, using the buffer statistics.CurrentMark.ShouldBe(NumberOfEvents - 101); statistics.HighestSequence.ShouldBe(NumberOfEvents); await makeOldWhereSequenceIsLessThanOrEqualTo(NumberOfEvents - 40); var safeTimestamp = statistics.LastUpdated.Value.Subtract(1.Seconds()); var statistics2 = await theDetector.DetectInSafeZone(safeTimestamp, CancellationToken.None); statistics2.CurrentMark.ShouldBe(NumberOfEvents - 34); }