Inheritance: RazorMailSenderWithTestEmail
        public void Constructor_CanSetTestAddress()
        {
            // Arrange
            var message = new RazorMailSenderWithTestEmailTester(ObjectMother.Sender, null, ObjectMother.TestAddress, null);

            // Act
            var result = message.TestTestAddress;

            // Assert
            Assert.That(result.DisplayName, Is.EqualTo(Resources.TestingRecipientName));
            Assert.That(result.Address, Is.EqualTo(ObjectMother.TestAddress));
        }
        public void GetMailMessage_WithoutFromAddress_DoesSetSenderAndFrom()
        {
            // Arrange
            var sender = new RazorMailSenderWithTestEmailTester(ObjectMother.Sender, null, ObjectMother.TestAddress);
            var message = new Mock<RazorMailMessage>(ObjectMother.Subject);
            message.Setup(x => x.GetMailMessage(It.IsAny<IParser>())).Returns(new MailMessage());

            // Act
            var result = sender.TestGetMailMessage(message.Object);

            // Assert
            Assert.That(result.Sender, Is.EqualTo(ObjectMother.Sender));
            Assert.That(result.From, Is.EqualTo(ObjectMother.Sender));
        }
        public void GetMailMessage_WithSystemInTesting_ReplacesRecipientListWithTestingAddress()
        {
            // Arrange
            var sender = new RazorMailSenderWithTestEmailTester(ObjectMother.Sender, null, ObjectMother.TestAddress);
            var message = new Mock<RazorMailMessage>(ObjectMother.Subject);
            message.Setup(x => x.GetMailMessage(It.IsAny<IParser>())).Returns(ObjectMother.Message);

            // Act
            var result = sender.TestGetMailMessage(message.Object);

            // Assert
            Assert.That(result.CC, Has.Count.EqualTo(0));
            Assert.That(result.Bcc, Has.Count.EqualTo(0));
            Assert.That(result.To, Has.Count.EqualTo(1));
            Assert.That(result.To.First().Address, Is.EqualTo(ObjectMother.TestAddress));
        }