public void TestEquality3() { var value = new LogLineSourceId(128); // ReSharper disable once SuspiciousTypeConversion.Global value.Equals(42).Should().BeFalse(); }
public void TestMergeMultiline3() { var source1 = new InMemoryLogFile(); var source1Id = new LogLineSourceId(0); var source2 = new InMemoryLogFile(); var source2Id = new LogLineSourceId(1); var merged = new MergedLogFile(_taskScheduler, TimeSpan.Zero, source1, source2); var t1 = new DateTime(2017, 11, 26, 11, 45, 0); source1.AddEntry("Foo", LevelFlags.Info, t1); _taskScheduler.RunOnce(); var t3 = new DateTime(2017, 11, 26, 11, 45, 2); source1.AddEntry("bar", LevelFlags.Warning, t3); _taskScheduler.RunOnce(); var t2 = new DateTime(2017, 11, 26, 11, 45, 1); source2.AddMultilineEntry(LevelFlags.Debug, t2, "Hello,", "World!"); _taskScheduler.RunOnce(); merged.Count.Should().Be(4); merged.GetLine(0).Should().Be(new LogLine(0, 0, source1Id, "Foo", LevelFlags.Info, t1)); merged.GetLine(1).Should().Be(new LogLine(1, 1, source2Id, "Hello,", LevelFlags.Debug, t2)); merged.GetLine(2).Should().Be(new LogLine(2, 1, source2Id, "World!", LevelFlags.Debug, t2)); merged.GetLine(3).Should().Be(new LogLine(3, 2, source1Id, "bar", LevelFlags.Warning, t3)); }
public void TestEquality1() { var value = new LogLineSourceId(128); // ReSharper disable once EqualExpressionComparison value.Equals(value).Should().BeTrue(); value.GetHashCode().Should().Be(value.GetHashCode()); }
public void TestInvalid() { var invalid = LogLineSourceId.Invalid; for (int i = 0; i < 254; ++i) { var value = new LogLineSourceId((byte)i); value.Should().NotBe(invalid); } }
public unsafe void TestSize() { var value = new LogLineSourceId(128); const string reason = "because this id is used in other classes/structs and shouldn't be padded to four bytes"; Marshal.SizeOf(value).Should().Be(1, reason); Marshal.SizeOf <LogLineSourceId>().Should().Be(1, reason); sizeof(LogLineSourceId).Should().Be(1, reason); }
public LogLine(int lineIndex, int originalLineIndex, int logEntryIndex, LogLineSourceId sourceId, string message, LevelFlags level, DateTime?timestamp, int matchedFilters) { LineIndex = lineIndex; OriginalLineIndex = originalLineIndex; Message = message; Level = level; LogEntryIndex = logEntryIndex; Timestamp = timestamp; MatchedFilters = matchedFilters; SourceId = sourceId; }
public void TestOperatorEquals() { var value = new LogLineSourceId(128); var equalValue = new LogLineSourceId(128); var otherValue = new LogLineSourceId(129); (value == equalValue).Should().BeTrue(); (equalValue == value).Should().BeTrue(); (value == otherValue).Should().BeFalse(); (otherValue == value).Should().BeFalse(); (equalValue == otherValue).Should().BeFalse(); (otherValue == equalValue).Should().BeFalse(); }
public void TestEquality4() { var value = new LogLineSourceId(128); var equalValue = new LogLineSourceId(128); var otherValue = new LogLineSourceId(129); value.Equals(equalValue).Should().BeTrue(); equalValue.Equals(value).Should().BeTrue(); value.GetHashCode().Should().Be(equalValue.GetHashCode()); value.Equals(otherValue).Should().BeFalse(); otherValue.Equals(value).Should().BeFalse(); equalValue.Equals(otherValue).Should().BeFalse(); otherValue.Equals(equalValue).Should().BeFalse(); }
public void TestConstruction9() { var lineIndex = new LogLineIndex(1); var entryIndex = new LogEntryIndex(42); var sourceId = new LogLineSourceId(254); var t = new DateTime(2017, 11, 26, 12, 20, 1); var line = new LogLine(lineIndex, entryIndex, sourceId, "Hello, World!", LevelFlags.Trace, t); line.LineIndex.Should().Be(1); line.OriginalLineIndex.Should().Be(1); line.LogEntryIndex.Should().Be(42); line.SourceId.Should().Be(sourceId); line.Message.Should().Be("Hello, World!"); line.Level.Should().Be(LevelFlags.Trace); line.Timestamp.Should().Be(t); line.MatchedFilters.Should().Be(0); }
public void TestMergeMultiline1() { var logFile1 = new InMemoryLogFile(); var source1Id = new LogLineSourceId(0); var source1 = new SingleDataSource(_taskScheduler, new DataSource { Id = DataSourceId.CreateNew() }, logFile1, TimeSpan.Zero); var logFile2 = new InMemoryLogFile(); var source2Id = new LogLineSourceId(1); var source2 = new SingleDataSource(_taskScheduler, new DataSource { Id = DataSourceId.CreateNew() }, logFile2, TimeSpan.Zero); _merged.IsSingleLine = false; _merged.Add(source1); _merged.Add(source2); var t1 = new DateTime(2017, 11, 26, 14, 26, 0); logFile1.AddEntry("Hello, World!", LevelFlags.Info, t1); var t2 = new DateTime(2017, 11, 26, 14, 27, 0); logFile2.AddEntry("foo", LevelFlags.Trace, t2); logFile2.AddEntry("bar", LevelFlags.None); var t3 = new DateTime(2017, 11, 26, 14, 28, 0); logFile1.AddEntry("Houston, we have a problem", LevelFlags.Warning, t3); _taskScheduler.Run(4); //< There's a few proxies involved and thus one round won't do it _merged.FilteredLogFile.Count.Should().Be(4, "because there are four lines in total, each of which has a timestamp"); _merged.FilteredLogFile.GetLine(0).Should().Be(new LogLine(0, 0, source1Id, "Hello, World!", LevelFlags.Info, t1)); _merged.FilteredLogFile.GetLine(1).Should().Be(new LogLine(1, 1, source2Id, "foo", LevelFlags.Trace, t2)); _merged.FilteredLogFile.GetLine(2).Should().Be(new LogLine(2, 1, source2Id, "bar", LevelFlags.Trace, t2)); _merged.FilteredLogFile.GetLine(3).Should().Be(new LogLine(3, 2, source1Id, "Houston, we have a problem", LevelFlags.Warning, t3)); }
public void TestToString1() { var value = new LogLineSourceId(0); value.ToString().Should().Be("#0"); }
public LogLine(LogLineSourceId sourceId, LogLine line) : this(line.LineIndex, line.OriginalLineIndex, line.LogEntryIndex, sourceId, line.Message, line.Level, line.Timestamp, 0) { }
public LogLine(int lineIndex, int originalLineIndex, int logEntryIndex, LogLineSourceId sourceId, string message, LevelFlags level, DateTime?timestamp) : this(lineIndex, originalLineIndex, logEntryIndex, sourceId, message, level, timestamp, 0) { }
public LogLine(LogLineIndex lineIndex, LogEntryIndex logEntryIndex, LogLineSourceId sourceId, string message, LevelFlags level, DateTime?timestamp) : this((int)lineIndex, (int)lineIndex, (int)logEntryIndex, sourceId, message, level, timestamp, matchedFilters : 0) { }
public LogLine(int lineIndex, int logEntryIndex, LogLineSourceId sourceId, LogLine line) : this(lineIndex, lineIndex, logEntryIndex, sourceId, line.Message, line.Level, line.Timestamp, 0) { }
public void TestEquality2() { var value = new LogLineSourceId(128); value.Equals(null).Should().BeFalse(); }
public void TestDefault() { var @default = new LogLineSourceId(); @default.Should().Be(LogLineSourceId.Default); }