Skip to content

Commit

Permalink
Adds tests for the regex scoring.
Browse files Browse the repository at this point in the history
  • Loading branch information
Tony Richards committed Oct 28, 2020
1 parent 8bc21ac commit d1b008e
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
42 changes: 42 additions & 0 deletions zxcvbn-core-test/Scoring/RegexScoringTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
using FluentAssertions;
using Xunit;
using Zxcvbn.Matcher;
using Zxcvbn.Matcher.Matches;

namespace Zxcvbn.Tests.Scoring
{
public class RegexScoringTests
{
[Fact]
public void CalculatesWithReferenceYear()
{
var match = new RegexMatch
{
Token = "1972",
RegexName = "recent_year",
i = 1,
j = 2,
Pattern = "regex"
};

var result = PasswordScoring.EstimateGuesses(match, "1972");
result.Should().Be(DateMatcher.ReferenceYear - 1972);
}

[Fact]
public void IsDelegatedToByEstimateGuesses()
{
var match = new RegexMatch
{
Token = "1972",
RegexName = "recent_year",
i = 1,
j = 2,
Pattern = "regex"
};

var result = PasswordScoring.EstimateGuesses(match, "1972");
result.Should().Be(DateMatcher.ReferenceYear - 1972);
}
}
}
2 changes: 1 addition & 1 deletion zxcvbn-core/Scoring/RegexGuessesCalculator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public static double CalculateGuesses(RegexMatch match)
switch (match.RegexName)
{
case "recent_year":
var yearSpace = Math.Abs(int.Parse(match.Pattern) - DateMatcher.ReferenceYear);
var yearSpace = Math.Abs(int.Parse(match.Token) - DateMatcher.ReferenceYear);
yearSpace = Math.Max(yearSpace, MinimumYearSpace);
return yearSpace;

Expand Down

0 comments on commit d1b008e

Please sign in to comment.