test(trajectory): fix test quality issues
This commit is contained in:
@@ -8,8 +8,9 @@ from unittest.mock import MagicMock, patch
|
|||||||
|
|
||||||
# Import the functions to test
|
# Import the functions to test
|
||||||
import sys
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
sys.path.insert(0, "/home/sgeboers/Projects/stemwijzer")
|
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||||
|
|
||||||
from explorer_helpers import compute_party_centroids
|
from explorer_helpers import compute_party_centroids
|
||||||
|
|
||||||
@@ -50,38 +51,6 @@ class TestTrajectoryPlotRendering:
|
|||||||
|
|
||||||
assert "PartyA" in diagnostics.get("parties_all_nan", [])
|
assert "PartyA" in diagnostics.get("parties_all_nan", [])
|
||||||
|
|
||||||
def test_name_normalization_improves_matching(self):
|
|
||||||
"""Test that normalized names improve party matching."""
|
|
||||||
# Positions with slightly different name format
|
|
||||||
positions_by_window = {
|
|
||||||
"2024-Q1": {"Agema, M.": (1.0, 2.0)},
|
|
||||||
}
|
|
||||||
# Party map with different spacing
|
|
||||||
party_map = {"Agema, M.": "PVV"} # Without normalization, this might not match
|
|
||||||
|
|
||||||
# After normalization, they should match
|
|
||||||
def normalize_mp_name(name):
|
|
||||||
if not name:
|
|
||||||
return name
|
|
||||||
name = name.strip()
|
|
||||||
if "," in name and ", " not in name:
|
|
||||||
name = name.replace(",", ", ")
|
|
||||||
return name
|
|
||||||
|
|
||||||
normalized_party_map = {normalize_mp_name(k): v for k, v in party_map.items()}
|
|
||||||
normalized_positions = {
|
|
||||||
window: {normalize_mp_name(k): v for k, v in positions.items()}
|
|
||||||
for window, positions in positions_by_window.items()
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check matching
|
|
||||||
all_mp_names = set()
|
|
||||||
for positions in normalized_positions.values():
|
|
||||||
all_mp_names.update(positions.keys())
|
|
||||||
|
|
||||||
matched = sum(1 for mp in all_mp_names if mp in normalized_party_map)
|
|
||||||
assert matched > 0, "Name normalization should improve matching"
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
pytest.main([__file__, "-v"])
|
pytest.main([__file__, "-v"])
|
||||||
|
|||||||
Reference in New Issue
Block a user