public void Should_ReturnFalse_When_FormatIsInvalid(string email) { var isValid = new EmailValidatorBuilder() .Build() .IsSatisfied(email); Assert.False(isValid); }
public void Should_ReturnTrue_When_IsNotBlacklisted(string email, string[] blacklistedEmails) { var isValid = new EmailValidatorBuilder() .ApplyBlacklistRule(blacklistedEmails) .Build() .IsSatisfied(email); Assert.True(isValid); }
public void Should_ReturnTrue_When_DomainIsAllowed(string email, string[] allowedDomains) { var isValid = new EmailValidatorBuilder() .ApplyAllowedDomainsRule(allowedDomains) .Build() .IsSatisfied(email); Assert.True(isValid); }
public void Should_ReturnTrue_When_NoDuplicates(string[] emails) { var emailValidator = new EmailValidatorBuilder() .ApplyNoDuplicatesRule() .Build(); var noDuplicates = true; foreach (var email in emails) { noDuplicates &= emailValidator.IsSatisfied(email); } Assert.True(noDuplicates); }
public static void Main(string[] args) { var ev1 = new EmailValidator( new FormatRule( new NoDuplicatesRule( new AlwaysValidRule()))); var ev2 = new EmailValidatorBuilder() .ApplyBlacklistRule(new[] { "*****@*****.**" }) .ApplyAllowedDomainsRule(new[] { "test.com" }) .ApplyNoDuplicatesRule() .Build(); var ev3 = EmailValidatorFactory.CreateFor("nultien"); var ev4 = EmailValidatorFactory.CreateFor("unknown"); }
public EmailValidator Create() { var condition = new EmailValidatorBuilder() .ApplyAllowedDomainsRule(new[] { "nultien.rs", "nultien.com" }) .Build(); var then = new EmailValidatorBuilder() .ApplyBlacklistRule(new[] { "*****@*****.**" }) .Build(); var @else = new EmailValidatorBuilder() .ApplyNoDuplicatesRule() .Build(); var nultienRule = new ConditionalValidationRule(condition, then, @else); return(new EmailValidator(nultienRule)); }
public static void Main(string[] args) { var email = "*****@*****.**"; var blacklistedEmails = new List <string> { "*****@*****.**" }; var allowedDomains = new List <string> { "test.com" }; var validator = new EmailValidatorBuilder() .ApplyBlacklistedEmailsValidation(blacklistedEmails) .ApplyAllowedDomainsValidation(allowedDomains) .ApplyDuplicatesValidation() .Build(); var result = validator.IsValid(email) ? "Valid" : "Invalid"; Console.WriteLine($"{result} - {email}"); Console.ReadKey(); }