29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
"""Tests für sn_basis/functions/landkreise.py::_lade_landkreise (Issue #65)."""
|
|||
|
|
|
||
|
|
import unittest
|
||
|
|
from unittest.mock import patch
|
||
|
|
|
||
|
|
from sn_basis.functions import landkreise
|
||
|
|
|
||
|
|
|
||
|
|
class LadeLandkreiseTests(unittest.TestCase):
|
||
|
|
def test_laedt_die_echte_landkreisliste_nicht_leer(self):
|
||
|
|
"""Prüft, dass _lade_landkreise die echte landkreise.json als nicht-leere Liste von (Kennzahl, Name)-Tupeln liefert."""
|
||
|
|
ergebnis = landkreise._lade_landkreise()
|
||
|
|
|
||
|
|
self.assertTrue(ergebnis)
|
||
|
|
kennzahl, name = ergebnis[0]
|
||
|
|
self.assertIsInstance(kennzahl, str)
|
||
|
|
self.assertIsInstance(name, str)
|
||
|
|
|
||
|
|
def test_fehlende_datei_liefert_leere_liste(self):
|
||
|
|
"""Prüft, dass eine nicht lesbare Datenquelle eine leere Liste liefert, statt eine Ausnahme zu werfen."""
|
||
|
|
with patch.object(landkreise, "_DATA_DATEI", "C:/nicht/vorhanden/landkreise.json"):
|
||
|
|
ergebnis = landkreise._lade_landkreise()
|
||
|
|
|
||
|
|
self.assertEqual(ergebnis, [])
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
unittest.main()
|