public void DispatchCallsNotify()
        {
            var notifier = new StubMessageNotifier();
            IMessageDispatcher dispatcher = new DiscardingMessageDispatcher(notifier);

            var m = new Message();
            dispatcher.Send(m);

            Assert.AreEqual(m, notifier.Message, "Messages differ");
        }
        public void SendMessageTemplate()
        {
            var american = new CultureInfo("en-US");
            var template = new MessageTemplate { Subject = "Subject {{A}}", Text = "Body {{A}}" };
            var properties = new Dictionary<string, object> { { "A", "B" } };

            // Arrange
            var repository = new Mock<IMessageTemplateRepository>();
            var notifier = new StubMessageNotifier();
            IMessageDispatcher messageDispatcher = new DiscardingMessageDispatcher(notifier);
            var dispatcher = new MessageTemplateDispatcher(repository.Object, messageDispatcher);

            repository.Setup(x => x.Find("Test", american)).Returns(template);

            // Act
            dispatcher.Send("Test", american, properties, new[] { "*****@*****.**" });

            // Assert
            Assert.IsNotNull(notifier.Message);
            Assert.AreEqual("Subject B", notifier.Message.Subject, "Subject differs");
            Assert.AreEqual("Body B", notifier.Message.Text, "Body differs");
            repository.VerifyAll();
        }
        public void ReadWriteServer()
        {
            var dispatcher = new DiscardingMessageDispatcher { Server = "Fred" };

            Assert.AreEqual("Fred", dispatcher.Server);
        }
        public void ReadWriteDeliveryLocation()
        {
            var dispatcher = new DiscardingMessageDispatcher { DeliveryLocation = "Fred" };

            Assert.AreEqual("Fred", dispatcher.DeliveryLocation);
        }