Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
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));
        }
Beispiel #5
0
        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));
        }