public void TestEquality3()
        {
            var value = new LogLineSourceId(128);

            // ReSharper disable once SuspiciousTypeConversion.Global
            value.Equals(42).Should().BeFalse();
        }
Beispiel #2
0
        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);
        }
Beispiel #6
0
 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();
        }
Beispiel #9
0
        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");
        }
Beispiel #12
0
 public LogLine(LogLineSourceId sourceId, LogLine line)
     : this(line.LineIndex, line.OriginalLineIndex, line.LogEntryIndex, sourceId, line.Message, line.Level, line.Timestamp, 0)
 {
 }
Beispiel #13
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)
 {
 }
Beispiel #14
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)
 {
 }
Beispiel #15
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);
        }