public void PasswordSpecification_ShouldBeSatisfiedWhenPasswordIs8CharsLongWithANumber() { var spec = new PasswordSpecification(); var user = new User { password = "******" }; spec.IsSatisfiedBy(user).Should().BeTrue(); }
public void AndSpecification_ShouldBeSatisfiedWhenBothSpecsAreTrue() { var spec1 = new UsernameSpecification(); var spec2 = new PasswordSpecification(); var and = new AndSpecification <User>(spec1, spec2); var user1 = new User { username = "******", password = "******" }; and.IsSatisfiedBy(user1).Should().BeTrue(); }
public void OrSpecification_ShouldBeSatisfiedWhenOneOfTheSpecsIsTrue() { var spec1 = new UsernameSpecification(); var spec2 = new PasswordSpecification(); var or = new OrSpecification <User>(spec1, spec2); var user1 = new User { username = "", password = "******" }; or.IsSatisfiedBy(user1).Should().BeTrue(); }
public IEnumerable <PasswordSpecification> Parse(List <string> testData) { foreach (var s in testData) { //format \d+-\d+ [a-z]: [a-z]+ var specification = new PasswordSpecification(); var rangeMatch = Regex.Match(s, @"(\d+)-(\d+)"); specification.MinCount = Convert.ToInt32(rangeMatch.Groups[1].ToString()); specification.MaxCount = Convert.ToInt32(rangeMatch.Groups[2].ToString()); specification.Character = Regex.Match(s, @"[a-z]").ToString()[0]; specification.Password = Regex.Match(s, @":\s([a-z]+)").Groups[1].ToString(); yield return(specification); } }