feat: Detect fake UK universities using naming patterns

Add detection for institutions that follow UK university naming
conventions (e.g., "University of the Peak District") but aren't
in the recognised institutions list. These are now flagged as
"Suspicious" with a -15 point penalty instead of just "Unknown".

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-25 08:11:08 +00:00
parent 0dc03dd380
commit fab1866fc8
2 changed files with 120 additions and 0 deletions

View File

@@ -80,6 +80,30 @@ public sealed class EducationVerifierServiceTests
result.IsVerified.Should().BeFalse();
}
[Theory]
[InlineData("University of the Peak District")]
[InlineData("University of the Cotswolds")]
[InlineData("University of the Lake District")]
[InlineData("University of the Dales")]
[InlineData("Sheffield Metropolitan University")] // Uses UK pattern but doesn't exist
public void Verify_FakeUKInstitution_ReturnsSuspicious(string institution)
{
// Arrange
var education = new EducationEntry
{
Institution = institution
};
// Act
var result = _sut.Verify(education);
// Assert
result.Status.Should().Be("Suspicious");
result.IsSuspicious.Should().BeTrue();
result.IsVerified.Should().BeFalse();
result.VerificationNotes.Should().Contain("UK university naming convention");
}
#endregion
#region UK Institution Recognition