public void Emit()
        {
            string message = "PlainMessageTemplate";

            LogEventLevel logEventLevel      = LogEventLevel.Warning;
            TraceLevel    expectedTraceLevel = TraceLevel.Warning;

            LogEvent logEvent = LogEventHelper.GetLogEvent(message, logEventLevel);

            ITextFormatter formatter = new MessageTemplateTextFormatter("{Message}", null);

            InMemoryTraceWriter traceWriter = new InMemoryTraceWriter(TraceLevel.Verbose);

            TraceWriterSink sink = new TraceWriterSink(traceWriter, formatter);

            Assert.Equal(0, traceWriter.Events.Count);

            sink.Emit(logEvent);

            Assert.Equal(1, traceWriter.Events.Count);

            TraceEvent traceEvent = traceWriter.Events.First();

            Assert.Equal(message, traceEvent.Message);
            Assert.Equal(expectedTraceLevel, traceEvent.Level);
        }
        public void FormatLogEventMessage_NullFormatter()
        {
            LogEvent logEvent = LogEventHelper.GetLogEvent();

            string formattedMessage = TraceWriterSink.FormatLogEventMessage(logEvent, null);

            Assert.Null(formattedMessage);
        }
        public void BuildTraceEvent_NullFormatter()
        {
            LogEvent logEvent = LogEventHelper.GetLogEvent();

            TraceEvent traceEvent = TraceWriterSink.BuildTraceEvent(logEvent, null);

            Assert.Null(traceEvent);
        }
        public void FormatLogEventMessage()
        {
            string message = "PlainMessageTemplate";

            LogEvent logEvent = LogEventHelper.GetLogEvent(message);

            ITextFormatter formatter = new MessageTemplateTextFormatter("{Message}", null);

            string formattedMessage = TraceWriterSink.FormatLogEventMessage(logEvent, formatter);

            Assert.Equal(message, formattedMessage);
        }
        public void BuildTraceEvent()
        {
            string message = "PlainMessageTemplate";

            LogEventLevel logEventLevel      = LogEventLevel.Warning;
            TraceLevel    expectedTraceLevel = TraceLevel.Warning;

            LogEvent logEvent = LogEventHelper.GetLogEvent(message, logEventLevel);

            ITextFormatter formatter = new MessageTemplateTextFormatter("{Message}", null);

            TraceEvent traceEvent = TraceWriterSink.BuildTraceEvent(logEvent, formatter);

            Assert.Equal(message, traceEvent.Message);
            Assert.Equal(expectedTraceLevel, traceEvent.Level);
        }