public async void ShouldResetInternalBufferPositionsAfterConsecutiveSmallMessagesAreRead() { var size = 1000; var limit = Constants.ChunkBufferSize - Constants.ChunkBufferResetPositionsWatermark; var data = IOExtensions.GenerateBoltMessages(size, limit); var logger = new Mock <ILogger>(); var reader = new ChunkReader(new MemoryStream(data.ToArray()), logger.Object); var count = await reader.ReadNextMessagesAsync(new MemoryStream()); count.Should().BeGreaterOrEqualTo(limit / size); logger.Verify(l => l.Trace(It.IsRegex("^\\d+ bytes left in chunk buffer.*compacting\\.$"), It.IsAny <object[]>()), Times.Once); }