Exemple #1
0
        public void IsDelegatedToByEstimateGuesses()
        {
            var match = new RepeatMatch
            {
                Token          = "aa",
                BaseToken      = "a",
                BaseGuesses    = PasswordScoring.MostGuessableMatchSequence("a", Core.GetAllMatches("a")).Guesses,
                BaseMatchItems = new List <Match>(),
                RepeatCount    = 2,
                i = 1,
                j = 2,
            };

            var expected = RepeatGuessesCalculator.CalculateGuesses(match);
            var actual   = PasswordScoring.EstimateGuesses(match, "aa");

            actual.Should().Be(expected);
        }
Exemple #2
0
        public void CalculatesTheRightNumberOfGuesses(string token, string baseToken, int expectedRepeats)
        {
            var baseGuesses = PasswordScoring.MostGuessableMatchSequence(baseToken, Core.GetAllMatches(baseToken)).Guesses;

            var match = new RepeatMatch
            {
                Token          = token,
                BaseToken      = baseToken,
                BaseGuesses    = baseGuesses,
                RepeatCount    = expectedRepeats,
                BaseMatchItems = new List <Match>(),
                i = 1,
                j = 2,
            };

            var expected = baseGuesses * expectedRepeats;

            var actual = RepeatGuessesCalculator.CalculateGuesses(match);

            actual.Should().Be(expected);
        }
 /// <summary>
 /// Estimates the attempts required to guess the password.
 /// </summary>
 /// <param name="match">The match.</param>
 /// <returns>The guesses estimate.</returns>
 public static double CalculateGuesses(RepeatMatch match)
 {
     return(match.BaseGuesses * match.RepeatCount);
 }
Exemple #4
0
        private static double RepeatGuesses(Match match)
        {
            RepeatMatch rM = (RepeatMatch)match;

            return(rM.BaseGuesses * rM.RepeatCount);
        }