public void LogMustProcessMessageWhenMessageOrExceptionIsNotNullOrEmpty()
        {
            ConsoleLoggerProcessorStub processor = new ConsoleLoggerProcessorStub();

            new ConsoleLogger("Test", processor, new ConsoleLoggerFormatter()).Log(LogLevel.Information, 0, "Test", null, null);
            Assert.Contains(processor.Messages, x => Regex.IsMatch(x, @"Information Test \[\d*\] Test"));
        }
        public void LogMustNotProcessMessageWhenMessageIsNullOrWhitespaceAndExceptionIsNull(string state)
        {
            ConsoleLoggerProcessorStub processor = new ConsoleLoggerProcessorStub();

            new ConsoleLogger("Test", processor, new ConsoleLoggerFormatter()).Log(LogLevel.Information, 0, state, null, null);
            Assert.Empty(processor.Messages);
        }
        public void LogMustProcessMessageWhenExceptionIsNotNull()
        {
            ConsoleLoggerProcessorStub processor = new ConsoleLoggerProcessorStub();

            new ConsoleLogger("Test", processor, new ConsoleLoggerFormatter()).Log(LogLevel.Information, 0, "", new Exception("Exception"), null);
            Assert.Contains(processor.Messages, x => Regex.IsMatch(x, @"Information Test \[\d*\].*Exception", RegexOptions.Singleline));
        }
        public void LogMustNotProcessMessageWhenIsEnabledReturnsFalse()
        {
            ConsoleLoggerProcessorStub processor = new ConsoleLoggerProcessorStub();

            new StubConsoleLogger("Test", processor, false).Log(LogLevel.Information, 0, "Test", null, null);
            Assert.Empty(processor.Messages);
        }