public void Validate_GivenAllPropertiesAreValid_ExpectValidationSuccess()
            {
                var model = new UserAuthentication.Model {
                    EmailAddress = "*****@*****.**", Password = "******"
                };
                var validator = new UserAuthentication.Validator();
                var result    = validator.Validate(model);

                Assert.True(result.IsValid);
            }
            public void Validate_GivenPasswordIsNull_ExpectValidationFailure()
            {
                var model = new UserAuthentication.Model {
                    EmailAddress = "*****@*****.**", Password = null
                };
                var validator = new UserAuthentication.Validator();
                var result    = validator.Validate(model);

                Assert.False(result.IsValid);
                Assert.Contains(result.Errors, x => x.PropertyName == "Password");
            }
            public void Validate_GivenEmailAddressIsNotValidEmailAddress_ExpectValidationFailure()
            {
                var model = new UserAuthentication.Model {
                    EmailAddress = "email-address", Password = "******"
                };
                var validator = new UserAuthentication.Validator();
                var result    = validator.Validate(model);

                Assert.False(result.IsValid);
                Assert.Contains(result.Errors, x => x.PropertyName == "EmailAddress");
            }