"""sn_basis/tests/test_laenderkennung.py Unit-Tests für :mod:`sn_basis.functions.laenderkennung`. """ import unittest from sn_basis.functions.laenderkennung import get_laenderkennung, LAENDERKENNUNGEN class TestGetLaenderkennung(unittest.TestCase): def test_bekannter_praefix_gibt_kennung_zurueck(self): """Prüft, dass der Präfix 'sn' die ALKIS-Länderkennung '14' für Sachsen liefert.""" self.assertEqual(get_laenderkennung("sn"), "14") def test_praefix_gross_klein_unabhaengig(self): """Prüft, dass die Präfixsuche groß-/kleinschreibungsunabhängig ist.""" self.assertEqual(get_laenderkennung("SN"), "14") def test_unbekannter_praefix_wirft_keyerror(self): """Prüft, dass ein unbekannter Präfix einen KeyError auslöst.""" with self.assertRaises(KeyError): get_laenderkennung("xx") def test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet(self): """Prüft, dass ohne Argument der Präfix aus dem Modulnamen des Aufrufers abgeleitet wird.""" # __name__ dieses Testmoduls beginnt mit "sn_basis" -> Präfix "sn" self.assertEqual(get_laenderkennung(), "14") def test_mapping_enthaelt_sachsen(self): """Prüft, dass die Mapping-Tabelle LAENDERKENNUNGEN einen Eintrag für Sachsen ('sn' -> '14') enthält.""" self.assertEqual(LAENDERKENNUNGEN.get("sn"), "14") if __name__ == "__main__": unittest.main()