TrackIds von VF/GF-Strecken um AS-/ES-Kettenenden ergaenzt
write_separatorliste_merkmale liess bisher nur "SEP"-Eintraege der sepliste in die "TrackIds"-Spalte einfliessen; die AS-/ES-Ausschleus- /Einschleuselemente an Anfang und Ende der Kette fehlten dadurch, obwohl sie beim Kreisel (compute_kreisel_umlauf) bereits Teil von dessen TrackIds sind. Jetzt werden alle sepliste-Eintraege (AS, SEP, ES) in Baureihenfolge aufgeloest. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,7 @@ from export_csv import ( # noqa: E402
|
||||
map_separator_kette_items,
|
||||
resolve_umlauf_und_sepliste_nachbarn,
|
||||
write_kreisel_separatorliste_merkmale,
|
||||
write_separatorliste_merkmale,
|
||||
)
|
||||
|
||||
DURCHMESSER_MM = 800.0
|
||||
@@ -293,6 +294,29 @@ class TestSeplisteNachbarnAufgeloest:
|
||||
f'SEP-Zeile hat Nachbarn {sep_nachbarn!r}, erwartet '
|
||||
f'{{{as_item["teileid"]!r}, {es_item["teileid"]!r}}}')
|
||||
|
||||
def test_trackids_enthaelt_as_sep_und_es(self):
|
||||
"""Die "TrackIds"-Spalte einer Strecke muss AS- UND ES-Ende mit
|
||||
enthalten, nicht nur die dazwischenliegenden Separatoren - sonst
|
||||
fehlen genau die Kettenenden, die beim Kreisel (compute_kreisel_
|
||||
umlauf) bereits Teil von dessen TrackIds sind."""
|
||||
from export_neighbors import compute_sep_kette
|
||||
items = self._sepliste_kette()
|
||||
sep_kette = compute_sep_kette(items)
|
||||
sep_kette_by_key = {}
|
||||
build_strecke_schleus_items(
|
||||
items, None, 100, sep_kette=sep_kette,
|
||||
sep_kette_by_key=sep_kette_by_key)
|
||||
map_separator_kette_items(
|
||||
items, sep_kette, sep_kette_by_key=sep_kette_by_key)
|
||||
write_separatorliste_merkmale(items, sep_kette_by_key)
|
||||
|
||||
strecke = next(it for it in items if it.get("teileid") == "0010")
|
||||
as_id = sep_kette_by_key["0010#1"]["teileid"]
|
||||
sep_id = sep_kette_by_key["0010#2"]["teileid"]
|
||||
es_id = sep_kette_by_key["0010#3"]["teileid"]
|
||||
assert sep_id == "0055", "sepliste-SEP nicht auf Proxy-Separator gemappt"
|
||||
assert strecke["trackids"] == f"{as_id}, {sep_id}, {es_id}"
|
||||
|
||||
|
||||
class TestKreiselUmlaufStartetBeiNullGrad:
|
||||
"""compute_kreisel_umlauf muss die Umlauf-Liste je Kreisel bei Winkel
|
||||
|
||||
Reference in New Issue
Block a user