48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
|
|
"""Tests Vergleichs-Diffs (triviale ID-Tausche ausfiltern)."""
|
||
|
|
from planning_exercise_path_builder import (
|
||
|
|
_build_progression_slot_diffs,
|
||
|
|
_filter_trivial_slot_diffs,
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
def test_filter_trivial_slot_diffs_same_title_different_id():
|
||
|
|
diffs = [
|
||
|
|
{
|
||
|
|
"roadmap_major_step_index": 1,
|
||
|
|
"baseline_exercise_id": 10,
|
||
|
|
"baseline_title": "Rhythmuswechsel in der Kumite-Beinarbeit",
|
||
|
|
"proposed_exercise_id": 99,
|
||
|
|
"proposed_title": "Rhythmuswechsel in der Kumite-Beinarbeit",
|
||
|
|
}
|
||
|
|
]
|
||
|
|
assert _filter_trivial_slot_diffs(diffs) == []
|
||
|
|
|
||
|
|
|
||
|
|
def test_filter_trivial_slot_diffs_keeps_real_title_change():
|
||
|
|
diffs = [
|
||
|
|
{
|
||
|
|
"roadmap_major_step_index": 1,
|
||
|
|
"baseline_exercise_id": 10,
|
||
|
|
"baseline_title": "Alt",
|
||
|
|
"proposed_exercise_id": 99,
|
||
|
|
"proposed_title": "Neu",
|
||
|
|
}
|
||
|
|
]
|
||
|
|
filtered = _filter_trivial_slot_diffs(diffs)
|
||
|
|
assert len(filtered) == 1
|
||
|
|
assert filtered[0]["proposed_title"] == "Neu"
|
||
|
|
|
||
|
|
|
||
|
|
def test_build_slot_diffs_then_filter():
|
||
|
|
baseline = [
|
||
|
|
{"roadmap_major_step_index": 0, "exercise_id": 1, "title": "A"},
|
||
|
|
{"roadmap_major_step_index": 1, "exercise_id": 10, "title": "Gleich"},
|
||
|
|
]
|
||
|
|
proposed = [
|
||
|
|
{"roadmap_major_step_index": 0, "exercise_id": 1, "title": "A"},
|
||
|
|
{"roadmap_major_step_index": 1, "exercise_id": 77, "title": "Gleich"},
|
||
|
|
]
|
||
|
|
raw = _build_progression_slot_diffs(baseline, proposed)
|
||
|
|
assert len(raw) == 1
|
||
|
|
assert _filter_trivial_slot_diffs(raw) == []
|