示例#1
0
        public void TestGetEntriesRawContent1()
        {
            var logFile = new InMemoryLogFile();

            logFile.AddEntry("foobar");
            var entries = logFile.GetEntries(new LogFileSection(0, 1), LogFileColumns.RawContent);

            entries.Count.Should().Be(1);
            entries.Columns.Should().Equal(new object[] { LogFileColumns.RawContent }, "because we've only retrieved that column");
            entries[0].RawContent.Should().Be("foobar");
        }
示例#2
0
        public void TestAddEntry6()
        {
            var logFile = new InMemoryLogFile(LogFileColumns.LogLevel);

            var logEntry = new LogEntry2();

            logEntry.Add(LogFileColumns.LogLevel, LevelFlags.Error);
            logFile.Add(logEntry);

            var buffer = new LogEntryBuffer(1, LogFileColumns.LogLevel);

            logFile.GetEntries(new LogFileSection(0, 1), buffer);
            buffer[0].LogLevel.Should().Be(LevelFlags.Error);
        }
示例#3
0
        public void TestGetEntriesWithMinimumColumns()
        {
            var logFile = new InMemoryLogFile();

            logFile.AddEntry("", LevelFlags.Debug, new DateTime(2017, 12, 12, 00, 11, 0));
            logFile.AddEntry("", LevelFlags.Info);
            logFile.AddEntry("", LevelFlags.Error, new DateTime(2017, 12, 12, 00, 12, 0));

            var entries = logFile.GetEntries(new LogFileSection(1, 2), LogFileColumns.Minimum);

            entries.Count.Should().Be(2);
            entries.Columns.Should().Equal(LogFileColumns.Minimum);
            entries[0].LogLevel.Should().Be(LevelFlags.Info);
            entries[0].Timestamp.Should().Be(null);
            entries[1].LogLevel.Should().Be(LevelFlags.Error);
            entries[1].Timestamp.Should().Be(new DateTime(2017, 12, 12, 00, 12, 0));
        }
示例#4
0
        public void TestGetEntriesWithElapsedTimeColumns()
        {
            var logFile = new InMemoryLogFile();

            logFile.AddEntry("", LevelFlags.Info);
            logFile.AddEntry("", LevelFlags.Debug, new DateTime(2017, 12, 12, 00, 11, 0));
            logFile.AddEntry("", LevelFlags.Info);
            logFile.AddEntry("", LevelFlags.Error, new DateTime(2017, 12, 12, 00, 12, 0));
            logFile.AddEntry("", LevelFlags.Error, new DateTime(2017, 12, 20, 17, 01, 0));

            var entries = logFile.GetEntries(new LogFileSection(0, 5), LogFileColumns.ElapsedTime);

            entries.Count.Should().Be(5);
            entries.Columns.Should().Equal(LogFileColumns.ElapsedTime);
            entries[0].ElapsedTime.Should().Be(null);
            entries[1].ElapsedTime.Should().Be(null);
            entries[2].ElapsedTime.Should().Be(null);
            entries[3].ElapsedTime.Should().Be(TimeSpan.FromMinutes(1));
            entries[4].ElapsedTime.Should().Be(TimeSpan.FromDays(8) + TimeSpan.FromHours(16) + TimeSpan.FromMinutes(50));
        }
示例#5
0
        public void TestGetEntriesEmpty()
        {
            var logFile = new InMemoryLogFile();

            logFile.GetEntries(new LogFileSection()).Should().BeEmpty("because the log file is empty");
        }