예제 #1
0
        public void DoSomethingLogsUsingCorrectFormat()
        {
            // Arrange
            var loggerFactory = MELTBuilder.CreateLoggerFactory();
            var logger        = loggerFactory.CreateLogger <Sample>();
            var sample        = new Sample(logger);

            // Act
            sample.DoSomething();

            // Assert
            var log = Assert.Single(loggerFactory.LogEntries);

            // Assert the the log format template
            Assert.Equal("The answer is {number}", log.Format);
        }
예제 #2
0
        public void DoSomethingLogsCorrectParameter()
        {
            // Arrange
            var loggerFactory = MELTBuilder.CreateLoggerFactory();
            var logger        = loggerFactory.CreateLogger <Sample>();
            var sample        = new Sample(logger);

            // Act
            sample.DoSomething();

            // Assert
            var log = Assert.Single(loggerFactory.LogEntries);

            // Assert specific parameters in the log entry
            LogValuesAssert.Contains("number", 42, log);
        }
예제 #3
0
        public void DoSomethingLogsMessage()
        {
            // Arrange
            var loggerFactory = MELTBuilder.CreateLoggerFactory();
            var logger        = loggerFactory.CreateLogger <Sample>();
            var sample        = new Sample(logger);

            // Act
            sample.DoSomething();

            // Assert
            var log = Assert.Single(loggerFactory.LogEntries);

            // Assert the message rendered by a default formatter
            Assert.Equal("The answer is 42", log.Message);
        }
예제 #4
0
파일: MoreTest.cs 프로젝트: alefranz/MELT
        public void DoMoreLogsFormat_NotCheckingNested()
        {
            // Arrange
            var loggerFactory = MELTBuilder.CreateLoggerFactory(options => options.FilterByTypeName <More>());
            var sampleLogger  = loggerFactory.CreateLogger <Sample>();
            var moreLogger    = loggerFactory.CreateLogger <More>();
            var more          = new More(new Sample(sampleLogger), moreLogger);

            // Act
            more.DoMore();

            // Assert
            var log = Assert.Single(loggerFactory.LogEntries);

            Assert.Equal("More is less.", log.Format);
        }
예제 #5
0
파일: MoreTest.cs 프로젝트: alefranz/MELT
        public void DoMoreLogsMessage()
        {
            // Arrange
            var loggerFactory = MELTBuilder.CreateLoggerFactory();
            var sampleLogger  = loggerFactory.CreateLogger <Sample>();
            var moreLogger    = loggerFactory.CreateLogger <More>();
            var more          = new More(new Sample(sampleLogger), moreLogger);

            // Act
            more.DoMore();

            // Assert
            Assert.Collection(loggerFactory.LogEntries,
                              l => Assert.Equal("More is less.", l.Message),
                              l => Assert.Equal("The answer is 42", l.Message));
        }
예제 #6
0
        public void DoExceptionalLogsException()
        {
            // Arrange
            var loggerFactory = MELTBuilder.CreateLoggerFactory();
            var logger        = loggerFactory.CreateLogger <Sample>();
            var sample        = new Sample(logger);

            // Act
            sample.DoExceptional();

            // Assert
            var log = Assert.Single(loggerFactory.LogEntries);

            // Assert the message rendered by a default formatter
            Assert.Equal("There was a problem", log.Message);
            // Assert specific parameters in the log entry
            LogValuesAssert.Contains("error", "problem", log);
            // Assert the exception
            var exception = Assert.IsType <ArgumentNullException>(log.Exception);

            Assert.Equal("foo", exception.ParamName);
        }