public void ShouldUpdateOffset_WithManyGaps_ShouldUpdate() { // Arrange var offsets = new PartitionOffsets(); offsets.Enqueue(1); offsets.Enqueue(2); offsets.Enqueue(4); offsets.Enqueue(5); offsets.Enqueue(7); offsets.Enqueue(8); offsets.Enqueue(15); offsets.Enqueue(20); offsets.Enqueue(50); // Act var results = new[]
public void ShouldUpdateOffset_WithOneGap_ShouldNotUpdate() { // Arrange var offsets = new PartitionOffsets(); offsets.Enqueue(1); // Act var shouldUpdate = offsets.ShouldCommit(2, out var offset); // Assert Assert.IsFalse(shouldUpdate); Assert.AreEqual(-1, offset); }
public void ShouldUpdateOffset_NextOffset_ShouldUpdate() { // Arrange var offsets = new PartitionOffsets(); offsets.Enqueue(1); // Act var shouldUpdate = offsets.ShouldCommit(1, out var offset); // Assert Assert.IsTrue(shouldUpdate); Assert.AreEqual(1, offset); }