public static PasswordEvaluation EvaluatePassword(string entry, PasswordValidationMethod passwordValidationMethod) { var split = entry.Split(": "); var password = split[1]; var rulesString = split[0]; var ruleSet = new RuleSet(rulesString, passwordValidationMethod); var evaluatedPassword = new PasswordEvaluation(password, ruleSet); return(evaluatedPassword); }
public static int CalculateNumberOfValidPasswords(List <string> data, PasswordValidationMethod passwordValidationMethod) { var invalidPasswordCount = 0; foreach (var item in data) { var evaluatedPassword = EvaluatePassword(item, passwordValidationMethod); if (evaluatedPassword.IsValid) { invalidPasswordCount += 1; } } return(invalidPasswordCount); }
public RuleSet(string ruleString, PasswordValidationMethod passwordValidationMethod) { PasswordValidationMethod = passwordValidationMethod; var instancesCharacterSplit = ruleString.Split(" "); Character = instancesCharacterSplit[1]; var instances = instancesCharacterSplit[0]; var instancesSplit = instances.Split("-"); LowerBound = int.Parse(instancesSplit[0]); UpperBound = int.Parse(instancesSplit[1]); }