Files
Plugin_SN_Basis/tests/test_text_wrapper.py
T

44 lines
1.9 KiB
Python
Raw Normal View History

"""sn_basis/tests/test_text_wrapper.py
Unit-Tests für :mod:`sn_basis.functions.text_wrapper`.
"""
import unittest
from sn_basis.functions.text_wrapper import sanitize_bezeichner
class TestSanitizeBezeichner(unittest.TestCase):
def test_umlaute_bleiben_erhalten(self):
"""Prüft, dass Umlaute und ß nicht durch den Ersatz entfernt werden."""
self.assertEqual(sanitize_bezeichner("Grünfläche"), "Grünfläche")
self.assertEqual(sanitize_bezeichner("Straße"), "Straße")
def test_bindestrich_bleibt_erhalten(self):
"""Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42)."""
self.assertEqual(sanitize_bezeichner("Wege-Plan"), "Wege-Plan")
def test_unterstrich_bleibt_erhalten(self):
"""Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt."""
self.assertEqual(sanitize_bezeichner("thema_flur_1"), "thema_flur_1")
def test_leerzeichen_wird_durch_ersatz_zusammengefasst(self):
"""Prüft, dass Leerzeichen (kein zulässiges Zeichen) zu einem Ersatzzeichen werden."""
self.assertEqual(sanitize_bezeichner("Flurstücke Gemarkung"), "Flurstücke_Gemarkung")
def test_fuehrender_und_folgender_ersatz_wird_entfernt(self):
"""Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird."""
self.assertEqual(sanitize_bezeichner("!Thema!"), "Thema")
def test_eigenes_ersatzzeichen_wird_verwendet(self):
"""Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird."""
self.assertEqual(sanitize_bezeichner("a b", ersatz="-"), "a-b")
def test_nur_unzulaessige_zeichen_ergibt_leeren_string(self):
"""Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird."""
self.assertEqual(sanitize_bezeichner("!!!"), "")
if __name__ == "__main__":
unittest.main()