#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ test_export_bezeichnung.py - CSV-Spalte "Bezeichnung" fuer VF_n/GF_n/ Kreisel/Eckrad. Laeuft komplett ohne BricsCAD (reine Python-Logik). Kundenwunsch: die Bezeichnung soll nicht nur die generierte Lauf-Nummerierung ("VarioFoerderer :3") sein, sondern - falls in der Zeichnung vom Anwender gesetzt - das frei editierbare Attribut "Bezeichnung" des Blocks (ATTDEF), damit sich ein Element in BricsCAD und im CSV-Export leichter zuordnen laesst. """ import os import sys sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "lib")) from export_csv import bezeichnung_oder_fallback # noqa: E402 class TestBezeichnungOderFallback: def test_eigene_bezeichnung_wird_uebernommen(self): block = {"attribs": {"Bezeichnung": "Haupt-Gefaelle Halle 3"}} assert bezeichnung_oder_fallback(block, "Gefaellestrecke :5") == \ "Haupt-Gefaelle Halle 3" def test_leere_bezeichnung_faellt_auf_standardname_zurueck(self): block = {"attribs": {"Bezeichnung": ""}} assert bezeichnung_oder_fallback(block, "Gefaellestrecke :5") == "Gefaellestrecke :5" def test_leerzeichen_bezeichnung_faellt_auf_standardname_zurueck(self): block = {"attribs": {"Bezeichnung": " "}} assert bezeichnung_oder_fallback(block, "Kreisel :2") == "Kreisel :2" def test_fehlendes_attribut_faellt_auf_standardname_zurueck(self): block = {"attribs": {}} assert bezeichnung_oder_fallback(block, "VarioFoerderer :1") == "VarioFoerderer :1" def test_fehlende_attribs_faellt_auf_standardname_zurueck(self): block = {} assert bezeichnung_oder_fallback(block, "Eckrad :4") == "Eckrad :4"