public void BuildPasswordExpression_AlphaNumericPassword_ValidRegularExpression()
 {
   string password = "******";
   var options = new WordListProcessOptions();
   string result = RegularExpressionDirector.MatchPasswordExpression(password, options);
   Assert.AreEqual("^S1mpl3P455w0rd$", result);
   AssertRegularExpressionIsValid(password, result);
 }
 public void BuildPasswordExpression_LetterOnlyPassword_ValidRegularExpression()
 {
   string password = "******";
   var options = new WordListProcessOptions();
   string result = RegularExpressionDirector.MatchPasswordExpression(password, options);
   Assert.AreEqual("^SimplePassword$", result);
   AssertRegularExpressionIsValid(password, result);
 }
        public void BuildPasswordExpression_AlphaNumericPassword_ValidRegularExpression()
        {
            string password = "******";
            var    options  = new WordListProcessOptions();
            string result   = RegularExpressionDirector.MatchPasswordExpression(password, options);

            Assert.AreEqual("^S1mpl3P455w0rd$", result);
            AssertRegularExpressionIsValid(password, result);
        }
        public void BuildPasswordExpression_LetterOnlyPassword_ValidRegularExpression()
        {
            string password = "******";
            var    options  = new WordListProcessOptions();
            string result   = RegularExpressionDirector.MatchPasswordExpression(password, options);

            Assert.AreEqual("^SimplePassword$", result);
            AssertRegularExpressionIsValid(password, result);
        }
        public void BuildPasswordExpression_DoubledUpWordOptionOnWithoutDoubledUpWord_ValidRegularExpression()
        {
            var options = new WordListProcessOptions();

            options.CheckForDoubledUpWord = true;
            var result = RegularExpressionDirector.MatchPasswordExpression("ThePassword", options);

            Assert.AreEqual("^ThePassword$", result);
        }
 public void BuildPasswordExpression_Symbols_ValidRegularExpression()
 {
   string password = "******"£$%^&*()_+`-={}[]:@~;'#<>?,./|\\";
   string expected = "^¬!\"£\\$%\\^&\\*\\(\\)_\\+`-=\\{}\\[]:@~;'#<>\\?,\\./\\|\\\\$";
   var options = new WordListProcessOptions();
   string result = RegularExpressionDirector.MatchPasswordExpression(password, options);
   Assert.AreEqual(expected, result);
   AssertRegularExpressionIsValid(password, result);
 }
 public void BuildPasswordExpression_AllTheEscapes_ValidRegularExpression()
 {
   string password = @"dot=. dollar=$ Circumflex=^ open-brace={ open-square=[ open-bracket=( vertical-line=| close-bracket=) asterisk=* plus=+ question=? backslash=\";
   string expected = @"^dot=\. dollar=\$ Circumflex=\^ open-brace=\{ open-square=\[ open-bracket=\( vertical-line=\| close-bracket=\) asterisk=\* plus=\+ question=\? backslash=\\$";
   var options = new WordListProcessOptions();
   string result = RegularExpressionDirector.MatchPasswordExpression(password, options);
   Assert.AreEqual(expected, result);
   AssertRegularExpressionIsValid(password, result);
 }
        public void BuildPasswordExpression_NumberSuffixOptionOnWithNumberSuffix_ValidRegularExpression()
        {
            var options = new WordListProcessOptions();

            options.CheckForNumberSuffix = true;
            var result = RegularExpressionDirector.MatchPasswordExpression("MyPassword1", options);

            Assert.AreEqual("^MyPassword1|MyPassword$", result);
        }
        public void BuildPasswordExpression_AllTheEscapes_ValidRegularExpression()
        {
            string password = @"dot=. dollar=$ Circumflex=^ open-brace={ open-square=[ open-bracket=( vertical-line=| close-bracket=) asterisk=* plus=+ question=? backslash=\";
            string expected = @"^dot=\. dollar=\$ Circumflex=\^ open-brace=\{ open-square=\[ open-bracket=\( vertical-line=\| close-bracket=\) asterisk=\* plus=\+ question=\? backslash=\\$";
            var    options  = new WordListProcessOptions();
            string result   = RegularExpressionDirector.MatchPasswordExpression(password, options);

            Assert.AreEqual(expected, result);
            AssertRegularExpressionIsValid(password, result);
        }
        public void BuildPasswordExpression_ReversedPasswordOn_ValidRegularExpression()
        {
            var options = new WordListProcessOptions();

            options.CheckForReversedWord = true;
            var    result   = RegularExpressionDirector.MatchPasswordExpression("Password1", options);
            string expected = "^Password1|1drowssaP$";

            Assert.AreEqual(expected, result);
        }
        public void BuildPasswordExpression_CustomBuilders_ValidRegularExpression()
        {
            var options = new WordListProcessOptions();

            options.CustomBuilders.Add(typeof(PasswordBuilder));
            var    result   = RegularExpressionDirector.MatchPasswordExpression("mypassword", options);
            string expected = "^mypassword|testpassword1430$";

            Assert.AreEqual(expected, result);
        }
        public void BuildPasswordExpression_Symbols_ValidRegularExpression()
        {
            string password = "******"£$%^&*()_+`-={}[]:@~;'#<>?,./|\\";
            string expected = "^¬!\"£\\$%\\^&\\*\\(\\)_\\+`-=\\{}\\[]:@~;'#<>\\?,\\./\\|\\\\$";
            var    options  = new WordListProcessOptions();
            string result   = RegularExpressionDirector.MatchPasswordExpression(password, options);

            Assert.AreEqual(expected, result);
            AssertRegularExpressionIsValid(password, result);
        }
 public void BuildPasswordExpression_DoubledUpWordOptionOnWithoutDoubledUpWord_ValidRegularExpression()
 {
   var options = new WordListProcessOptions();
   options.CheckForDoubledUpWord = true;
   var result = RegularExpressionDirector.MatchPasswordExpression("ThePassword", options);
   Assert.AreEqual("^ThePassword$", result);
 }
 public void BuildPasswordExpression_NullPassword_ThrowsException()
 {
   var options = new WordListProcessOptions();
   RegularExpressionDirector.MatchPasswordExpression(null, options);
 }
 public void BuildPasswordExpression_ReversedPasswordOn_ValidRegularExpression()
 {
   var options = new WordListProcessOptions();
   options.CheckForReversedWord = true;
   var result = RegularExpressionDirector.MatchPasswordExpression("Password1", options);
   string expected = "^Password1|1drowssaP$";
   Assert.AreEqual(expected, result);
 }
 public void BuildPasswordExpression_CustomBuilders_ValidRegularExpression()
 {
   var options = new WordListProcessOptions();
   options.CustomBuilders.Add(typeof(PasswordBuilder));
   var result = RegularExpressionDirector.MatchPasswordExpression("mypassword", options);
   string expected = "^mypassword|testpassword1430$";
   Assert.AreEqual(expected, result);
 }
        public void BuildPasswordExpression_NullPassword_ThrowsException()
        {
            var options = new WordListProcessOptions();

            RegularExpressionDirector.MatchPasswordExpression(null, options);
        }
 public void BuildPasswordExpression_NumberSuffixOptionOnWithNumberSuffix_ValidRegularExpression()
 {
   var options = new WordListProcessOptions();
   options.CheckForNumberSuffix = true;
   var result = RegularExpressionDirector.MatchPasswordExpression("MyPassword1", options);
   Assert.AreEqual("^MyPassword1|MyPassword$", result);
 }