public void Should_Fail_To_Send_Email_Because_Email_Is_Invalid()
        {
            // arrange
            const string errorMessage = "message";

            var email           = new Email();
            var validatorRunner = new Mock <IValidatorRunner>();
            var errorSummary    = new ErrorSummary();

            validatorRunner.Setup(v => v.IsValid(It.IsAny <Email>())).Returns(false);
            validatorRunner.Setup(v => v.GetErrorSummary(It.IsAny <Email>())).Returns(errorSummary);

            errorSummary.RegisterErrorMessage(errorMessage, errorMessage);

            // act
            var service = new EmailSenderService(validatorRunner.Object);

            TestDelegate act = () => service.Send(email);

            // assert
            Assert.That(act, Throws.InstanceOf <ValidationException>().With.Property("ValidationErrorMessages").EqualTo(new[] { errorMessage }));
        }