public void Log_WhenListenerRegisteredThenUnregistered_DoesNotCallListener()
        {
            DispatchLogger logger = new DispatchLogger();
            ILogger listener = MockRepository.GenerateMock<ILogger>();
            var ex = new ExceptionData(new Exception("foo"));
            logger.AddLogListener(listener);
            logger.RemoveLogListener(listener);

            logger.Log(LogSeverity.Important, "Message", ex);

            listener.VerifyAllExpectations();
        }
        public void Log_WhenEventHandlerRegistered_FiresEvent()
        {
            LogEntrySubmittedEventArgs receivedEvent = null;
            DispatchLogger logger = new DispatchLogger();
            logger.LogMessage += (sender, e) => receivedEvent = e;

            logger.Log(LogSeverity.Important, "Message", new Exception("foo"));

            Assert.IsNotNull(receivedEvent);
            Assert.AreEqual(LogSeverity.Important, receivedEvent.Severity);
            Assert.AreEqual("Message", receivedEvent.Message);
            Assert.AreEqual("foo", receivedEvent.ExceptionData.Message);
        }