public void TestAppendGap() { var changes = new MergedLogSourceChanges(0); changes.Append(0, 2); changes.Append(1, 2); changes.Sections.Should().Equal(new object[] { LogSourceModification.Appended(0, 3) }); }
public void TestAppendTwice() { var changes = new MergedLogSourceChanges(101); changes.Append(101, 6); changes.Append(107, 10); changes.Sections.Should().Equal(new object[] { LogSourceModification.Appended(101, 16) }); }
public void TestAppendInvalidateAppend() { var changes = new MergedLogSourceChanges(0); changes.Append(0, 2); changes.RemoveFrom(1); changes.Append(1, 1); changes.Sections.Should().Equal(new object[] { LogSourceModification.Appended(0, 2) }); }
public void TestAppend() { var changes = new MergedLogSourceChanges(101); changes.Append(101, 5); changes.Sections.Should().Equal(new object[] { LogSourceModification.Appended(101, 5) }); changes.TryGetFirstRemovedIndex(out var index).Should().BeFalse(); index.Should().Be(LogLineIndex.Invalid); }
public void TestInvalidateThenAppendWithGap() { var changes = new MergedLogSourceChanges(10); changes.RemoveFrom(5); changes.Append(7, 10); changes.Sections.Should().Equal(new object[] { LogSourceModification.Removed(5, 5), LogSourceModification.Appended(5, 12) }); }
public void TestInvalidateThenAppend() { var changes = new MergedLogSourceChanges(10); changes.RemoveFrom(5); changes.Append(5, 6); changes.Sections.Should().Equal(new object[] { LogSourceModification.Removed(5, 5), LogSourceModification.Appended(5, 6) }); changes.TryGetFirstRemovedIndex(out var index).Should().BeTrue(); index.Should().Be(new LogLineIndex(5)); }