solidprivacy-nl commited on
Commit
48ed660
·
1 Parent(s): 59f9173

Assert v11.1 candidate categories

Browse files
tests/test_candidate_scanner_regression.py CHANGED
@@ -2,6 +2,7 @@ from candidate_scanner import scan_unmasked_candidates
2
  from test_cases.legal_regression_cases import (
3
  CANDIDATE_SCANNER_TEXT,
4
  EXPECTED_CANDIDATES,
 
5
  NEGATIVE_VALUES,
6
  )
7
 
@@ -14,6 +15,18 @@ def test_candidate_scanner_finds_expected_reference_like_values():
14
  assert not missing, f"Expected candidates were not found: {sorted(missing)}"
15
 
16
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  def test_candidate_scanner_does_not_suggest_known_false_positives():
18
  rows = scan_unmasked_candidates(CANDIDATE_SCANNER_TEXT, analyzer_results=[])
19
  found = {row["text"] for row in rows}
@@ -29,9 +42,11 @@ def test_candidate_scanner_preserves_context_by_returning_value_only():
29
  assert "reparatienummer REP-2026-4410" not in found
30
  assert "intern incidentnummer INC-2026-0912" not in found
31
  assert "kenteken XX123X" not in found
 
32
  assert "REP-2026-4410" in found
33
  assert "INC-2026-0912" in found
34
  assert "XX123X" in found
 
35
 
36
 
37
  def test_candidate_scanner_respects_existing_analyzer_spans():
 
2
  from test_cases.legal_regression_cases import (
3
  CANDIDATE_SCANNER_TEXT,
4
  EXPECTED_CANDIDATES,
5
+ EXPECTED_CANDIDATE_TYPES,
6
  NEGATIVE_VALUES,
7
  )
8
 
 
15
  assert not missing, f"Expected candidates were not found: {sorted(missing)}"
16
 
17
 
18
+ def test_candidate_scanner_assigns_expected_reference_categories():
19
+ rows = scan_unmasked_candidates(CANDIDATE_SCANNER_TEXT, analyzer_results=[])
20
+ by_text = {row["text"]: row["entity_type"] for row in rows}
21
+
22
+ mismatches = {
23
+ value: {"expected": expected_type, "actual": by_text.get(value)}
24
+ for value, expected_type in EXPECTED_CANDIDATE_TYPES.items()
25
+ if by_text.get(value) != expected_type
26
+ }
27
+ assert not mismatches, f"Candidate type mismatches: {mismatches}"
28
+
29
+
30
  def test_candidate_scanner_does_not_suggest_known_false_positives():
31
  rows = scan_unmasked_candidates(CANDIDATE_SCANNER_TEXT, analyzer_results=[])
32
  found = {row["text"] for row in rows}
 
42
  assert "reparatienummer REP-2026-4410" not in found
43
  assert "intern incidentnummer INC-2026-0912" not in found
44
  assert "kenteken XX123X" not in found
45
+ assert "KvK-nummer vennootschap: 76543210" not in found
46
  assert "REP-2026-4410" in found
47
  assert "INC-2026-0912" in found
48
  assert "XX123X" in found
49
+ assert "76543210" in found
50
 
51
 
52
  def test_candidate_scanner_respects_existing_analyzer_spans():