public void EventLogLogger_DebugLevel_EventLogEntryTypeUsedTest()
        {
            //Arrange
            var messages = new List <Tuple <string, string, EventLogEntryType> >();
            var logger   = new EventLogLogger("Test")
            {
                WriteEntryToEventLog = (x, y, z) => messages.Add(new Tuple <string, string, EventLogEntryType>(x, y, z))
            };
            var testMessage   = "Test message";
            var testException = new Exception("Test");

            //Act
            logger.IsDebugEnabled = true;
            logger.Debug(testMessage);
            logger.Debug(testException);
            logger.Debug(testMessage, testException);
            //Assert
            Assert.AreEqual(3, messages.Select(x => x).Count(x => x.Item3 == EventLogEntryType.Information));
        }
        public void EventLogLogger_DebugLog_MessageExposedTest()
        {
            //Arrange
            var messages = new List <Tuple <LogLevel, string, Exception> >();
            var logger   = new EventLogLogger("Test");

            logger.IsDebugEnabled     = true;
            logger.LogMessageHandler += (x, y, z) => messages.Add(new Tuple <LogLevel, string, Exception>(x, y, z));
            var testMessage   = "Test message";
            var testException = new Exception("Test");

            //Act
            logger.Debug(testMessage);
            logger.Debug(testException);
            logger.Debug(testMessage, testException);
            //Assert
            Assert.AreEqual(3, messages.Count);
            Assert.AreEqual(new Tuple <LogLevel, string, Exception>(LogLevel.Debug, testMessage, null), messages[0], "Log entry with message was not exposed correctly.");
            Assert.AreEqual(new Tuple <LogLevel, string, Exception>(LogLevel.Debug, string.Empty, testException), messages[1], "Log entry with exception was not exposed correctly.");
            Assert.AreEqual(new Tuple <LogLevel, string, Exception>(LogLevel.Debug, testMessage, testException), messages[2], "Log entry with message and exception was not exposed correctly.");
        }