/// <summary>
        ///         ''' Generate Password at desired strength and desired number of characters.
        ///         ''' </summary>
        ///         ''' <param name="length">Integer length of the password string.</param>
        ///         ''' <param name="complex">Password Strength that password needs to be.</param>
        ///         ''' <returns>Password String of given length and strength given.</returns>
        public string generatePassword(int length, passwordComplexity complex)
        {
            System.Text.StringBuilder passArray = new System.Text.StringBuilder();
            int newIndex;

            for (int a = 1; a <= length; a++)
            {
                newIndex = rollDie(100);
                int    charType = rollDie((int)complex);
                string list;
                switch (charType)
                {
                case object _ when charType == 1: {
                    list = lowerLetters;
                    break;
                }

                case object _ when charType == 2: {
                    list = upperLetters;
                    break;
                }

                case object _ when charType == 3: {
                    list = numberChars;
                    break;
                }

                default: {
                    list = specialChars;
                    break;
                }
                }
                passArray.Append(getCharAtIndexWrapping(newIndex, list));
            }
            if (checkStrength(passArray.ToString(), complex))
            {
                return(passArray.ToString());
            }
            else
            {
                return(generatePassword(length, complex));
            }
        }
 /// <summary>
 ///         ''' Get if the password is equivelent to the desired strength.
 ///         ''' </summary>
 ///         ''' <param name="password"></param>
 ///         ''' <param name="strength"></param>
 ///         ''' <returns></returns>
 ///         ''' <remarks></remarks>
 private bool checkStrength(string password, passwordComplexity strength)
 {
     return(getPasswordComplexity(password) >= strength);
 }
 /// <summary>
 ///         ''' Generate Password at the desired strength and 8 characters.
 ///         ''' </summary>
 ///         ''' <param name="strength">The strength of the password to generate.</param>
 ///         ''' <returns>Password String that with 8 characters of the strength you specified.</returns>
 public string generatePassword(passwordComplexity strength)
 {
     return(generatePassword(passwordLength, strength));
 }