public SolutionOne() { var inputList = File.ReadAllLines(FileName).ToList(); foreach (var inputValue in inputList) { var splittedInput = inputValue.Split(" "); var minCount = Helper.GetMinCount(splittedInput[0]); var maxCount = Helper.GetMaxCount(splittedInput[0]); var character = Helper.GetMinCount(splittedInput[1], 0, ":"); var pass = splittedInput[2]; var passRule = new PasswordRule { MinCount = int.Parse(minCount), MaxCount = int.Parse(maxCount), Character = char.Parse(character), Password = pass, NumberOfOccurances = pass.Count(x => x == char.Parse(character)) }; PasswordRules.Add(passRule); } }
public PasswordValidation(PasswordRule rule, string password) { Rule = rule ?? throw new ArgumentNullException(nameof(rule)); Password = password ?? throw new ArgumentNullException(nameof(password));; }
protected bool Equals(PasswordRule other) { return(Letter == other.Letter && MinCount == other.MinCount && MaxCount == other.MaxCount); }