public void CanDescribeValidationRules() { // Arrange PasswordPolicy policy1 = new PasswordPolicy { MinPasswordLength = 5 }; PasswordPolicy policy2 = new PasswordPolicy { MinNoOfLowerCaseChars = 2 }; PasswordPolicy policy3 = new PasswordPolicy { MinNoOfUpperCaseChars = 2 }; PasswordPolicy policy4 = new PasswordPolicy { MinNoOfNumbers = 2 }; PasswordPolicy policy5 = new PasswordPolicy { MaxNoOfAllowedCharacterRepetitions = 3 }; PasswordPolicy policy6 = new PasswordPolicy { MinPasswordLength = 1, MinNoOfLowerCaseChars = 2, MinNoOfUpperCaseChars = 3, MinNoOfNumbers = 4, MaxNoOfAllowedCharacterRepetitions = 5 }; PasswordPolicy policy7 = new PasswordPolicy(); // Act + Assert Assert.AreEqual("password must be at least 5 characters long", policy1.GetDescription("password")); Assert.AreEqual("password must contain at least 2 lower case characters", policy2.GetDescription("password")); Assert.AreEqual("password must contain at least 2 upper case characters", policy3.GetDescription("password")); Assert.AreEqual("password must contain at least 2 numbers", policy4.GetDescription("password")); Assert.AreEqual("password must contain at most 3 character repetitions", policy5.GetDescription("password")); Assert.AreEqual("password must be at least 1 characters long, contain at least 2 lower case characters, contain at least 3 upper case characters, contain at least 4 numbers, contain at most 5 character repetitions", policy6.GetDescription("password")); Assert.IsNull(policy7.GetDescription("password")); }
public void CanMatchMaxNoOfAllowedCharacterRepetitions() { // Arrange PasswordPolicy policy = new PasswordPolicy { MaxNoOfAllowedCharacterRepetitions = 2 }; // Act + Assert Assert.IsTrue(policy.IsValid("aabb")); Assert.IsFalse(policy.IsValid("xaaay")); }
public void CanMatchMinNoOfMinNoOfLowerCaseChars() { // Arrange PasswordPolicy policy = new PasswordPolicy { MinNoOfLowerCaseChars = 3 }; // Act + Assert Assert.IsTrue(policy.IsValid("1a2bc")); Assert.IsFalse(policy.IsValid("1A2bC")); Assert.IsFalse(policy.IsValid("1A2BC")); }
public void CanMatchPasswordLength() { // Arrange PasswordPolicy policy = new PasswordPolicy { MinPasswordLength = 5 }; // Act + Assert Assert.IsTrue(policy.IsValid("12345")); Assert.IsFalse(policy.IsValid("1234")); }
public void CanMatchMinNoOfNumbers() { // Arrange PasswordPolicy policy = new PasswordPolicy { MinNoOfNumbers = 3 }; // Act + Assert Assert.IsTrue(policy.IsValid("a12b3")); Assert.IsFalse(policy.IsValid("a1xb3")); }