public void TestEmpty([Values(0, 1, 42)] int count) { var changes = new MergedLogSourceChanges(count); changes.Sections.Should().BeEmpty(); changes.TryGetFirstRemovedIndex(out var index).Should().BeFalse(); index.Should().Be(LogLineIndex.Invalid); }
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 TestAppendInvalidate() { var changes = new MergedLogSourceChanges(0); changes.Append(0, 42); changes.RemoveFrom(20); changes.Sections.Should().Equal(new object[] { LogSourceModification.Appended(0, 20) }); }
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 TestInvalidate() { var changes = new MergedLogSourceChanges(42); changes.RemoveFrom(10); changes.Sections.Should().Equal(new object[] { LogSourceModification.Removed(10, 32) }); changes.TryGetFirstRemovedIndex(out var index).Should().BeTrue(); index.Should().Be(new LogLineIndex(10)); }
public void TestInvalidateTwiceSuperfluous() { var changes = new MergedLogSourceChanges(13); changes.RemoveFrom(5); changes.RemoveFrom(7); changes.Sections.Should().Equal(new object[] { LogSourceModification.Removed(5, 8) }); changes.TryGetFirstRemovedIndex(out var index).Should().BeTrue(); index.Should().Be(new LogLineIndex(5)); }
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)); }