public void TestGetTimestampsOneSource2([Range(0, 3)] int offset) { var source = new InMemoryLogFile(); var logFile = new MergedLogFile(_taskScheduler, TimeSpan.Zero, source); source.AddEntry("", LevelFlags.Other, new DateTime(2017, 12, 14, 23, 27, 0)); source.AddEntry("", LevelFlags.Other, new DateTime(2017, 12, 14, 23, 28, 23)); source.AddEntry("", LevelFlags.Other, new DateTime(2017, 12, 14, 23, 29, 1)); int count = source.Count; _taskScheduler.Run(2); var buffer = new DateTime?[offset + count]; for (int i = 0; i < offset + count; ++i) { buffer[i] = DateTime.MinValue; } logFile.GetColumn(new LogLineIndex[] { 2, 1 }, LogFileColumns.Timestamp, buffer, offset); for (int i = 0; i < offset; ++i) { buffer[i].Should().Be(DateTime.MinValue, "because we've specified an offset and thus values before that offset shouldn't have been touched"); } buffer[offset + 0].Should().Be(source.GetLine(2).Timestamp); buffer[offset + 1].Should().Be(source.GetLine(1).Timestamp); }
public void TestAddMultilineEntry1() { var logFile = new InMemoryLogFile(); logFile.AddMultilineEntry(LevelFlags.Debug, null, "foo", "bar"); logFile.Count.Should().Be(2); logFile.GetLine(0).Should().Be(new LogLine(0, 0, "foo", LevelFlags.Debug, null)); logFile.GetLine(1).Should().Be(new LogLine(1, 0, "bar", LevelFlags.Debug, null)); }
public void TestAddEntry2() { var logFile = new InMemoryLogFile(); logFile.AddEntry("Hello,", LevelFlags.Info, new DateTime(2017, 4, 29, 14, 56, 0)); logFile.AddEntry(" World!", LevelFlags.Warning, new DateTime(2017, 4, 29, 14, 56, 2)); logFile.Count.Should().Be(2); logFile.GetLine(0).Should().Be(new LogLine(0, 0, "Hello,", LevelFlags.Info, new DateTime(2017, 4, 29, 14, 56, 0))); logFile.GetLine(1).Should().Be(new LogLine(1, 1, " World!", LevelFlags.Warning, new DateTime(2017, 4, 29, 14, 56, 2))); logFile.GetValue(LogFileProperties.StartTimestamp).Should().Be(new DateTime(2017, 4, 29, 14, 56, 0)); }
public void TestAddMultilineEntry2() { var logFile = new InMemoryLogFile(); logFile.AddEntry("Hello, World!", LevelFlags.Debug); var t1 = new DateTime(2017, 11, 26, 11, 56, 0); logFile.AddMultilineEntry(LevelFlags.Info, t1, "foo", "bar"); logFile.Count.Should().Be(3); logFile.GetLine(0).Should().Be(new LogLine(0, 0, "Hello, World!", LevelFlags.Debug, null)); logFile.GetLine(1).Should().Be(new LogLine(1, 1, "foo", LevelFlags.Info, t1)); logFile.GetLine(2).Should().Be(new LogLine(2, 1, "bar", LevelFlags.Info, t1)); }
public void TestAddMultilineEntry3() { var logFile = new InMemoryLogFile(); var t1 = new DateTime(2017, 11, 26, 11, 56, 0); logFile.AddMultilineEntry(LevelFlags.Info, t1, "foo", "bar"); var t2 = new DateTime(2017, 11, 26, 11, 57, 0); logFile.AddMultilineEntry(LevelFlags.Warning, t2, "H", "e", "l", "l", "o"); logFile.Count.Should().Be(7); logFile.GetLine(0).Should().Be(new LogLine(0, 0, "foo", LevelFlags.Info, t1)); logFile.GetLine(1).Should().Be(new LogLine(1, 0, "bar", LevelFlags.Info, t1)); logFile.GetLine(2).Should().Be(new LogLine(2, 1, "H", LevelFlags.Warning, t2)); logFile.GetLine(3).Should().Be(new LogLine(3, 1, "e", LevelFlags.Warning, t2)); logFile.GetLine(4).Should().Be(new LogLine(4, 1, "l", LevelFlags.Warning, t2)); logFile.GetLine(5).Should().Be(new LogLine(5, 1, "l", LevelFlags.Warning, t2)); logFile.GetLine(6).Should().Be(new LogLine(6, 1, "o", LevelFlags.Warning, t2)); }