Exemple #1
0
        public void PasswordSpecification_ShouldBeSatisfiedWhenPasswordIs8CharsLongWithANumber()
        {
            var spec = new PasswordSpecification();

            var user = new User {
                password = "******"
            };

            spec.IsSatisfiedBy(user).Should().BeTrue();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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);
     }
 }