private void WriteToDebugConsoleWhenDebugging(string password, PasswordScoreValidator validator) { #if DEBUG Debug.WriteLine($"#####################################################################################"); Debug.WriteLine($"Password: {password} , Score: {validator.CalculatedScore}, ScorePoints: {validator.CalculatedScorePoints}"); Debug.WriteLine($"#####################################################################################"); Debug.WriteLine($"Description | Count | Score"); Debug.WriteLine($"Number of Characteres | {validator.Scores.CountNumberOfChars} | {validator.Scores.ScoreNumberOfChars}"); Debug.WriteLine($"Uppercase Letters | {validator.Scores.CountUpperCaseChars} | {validator.Scores.ScoreUpperCaseChars}"); Debug.WriteLine($"Lowercase Letters | {validator.Scores.CountLowerCaseChars} | {validator.Scores.ScoreLowerCaseChars}"); Debug.WriteLine($"Numbers | {validator.Scores.CountNumbers} | {validator.Scores.ScoreNumbers}"); Debug.WriteLine($"Special Chars | {validator.Scores.CountSpecialChars} | {validator.Scores.ScoreSpecialChars}"); Debug.WriteLine($"Middle Numbers or Special Chars | {validator.Scores.CountMiddleNumbersOrSpecialChars} | {validator.Scores.ScoreMiddleNumbersOrSpecialChars}"); Debug.WriteLine($"Requirements | {validator.Scores.CountRequirements} | {validator.Scores.ScoreRequirements}"); Debug.WriteLine($"Letters Only | {validator.Scores.CountLettersOnly} | {validator.Scores.ScoreLettersOnly}"); Debug.WriteLine($"Numbers Only | {validator.Scores.CountNumbersOnly} | {validator.Scores.ScoreNumbersOnly}"); Debug.WriteLine($"Repeat Characters | {validator.Scores.CountRepeatCharacteres} | {validator.Scores.ScoreRepeatCharacteres}"); Debug.WriteLine($"Consecutive Uppercase Letters | {validator.Scores.CountConsecutiveUpperCaseChars} | {validator.Scores.ScoreConsecutiveUpperCaseChars}"); Debug.WriteLine($"Consecutive Lowercase Letters | {validator.Scores.CountConsecutiveLowerCaseChars} | {validator.Scores.ScoreConsecutiveLowerCaseChars}"); Debug.WriteLine($"Consecutive Numbers | {validator.Scores.CountConsecutiveNumbers} | {validator.Scores.ScoreConsecutiveNumbers}"); Debug.WriteLine($"Sequential Letters | {validator.Scores.CountSequentialLetters} | {validator.Scores.ScoreSequentialLetters}"); Debug.WriteLine($"Sequential Numbers | {validator.Scores.CountSequentialNumbers} | {validator.Scores.ScoreSequentialNumbers}"); Debug.WriteLine($"#####################################################################################"); #endif }
public void ValidatePassword(string password, PasswordScore expectedScore) { var validator = new PasswordScoreValidator(); PasswordScore score = validator.CalculateScore(password); WriteToDebugConsoleWhenDebugging(password, validator); Assert.Equal(expectedScore, score); }