forked from AG_QGIS/Plugin_SN_Basis
48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
import unittest
|
|
import tempfile
|
|
import os
|
|
from stilpruefer import Stilpruefer
|
|
from pruef_ergebnis import PruefErgebnis
|
|
|
|
|
|
class TestStilpruefer(unittest.TestCase):
|
|
def setUp(self):
|
|
self.pruefer = Stilpruefer()
|
|
|
|
def test_keine_datei_angegeben(self):
|
|
result = self.pruefer.pruefe("")
|
|
self.assertTrue(result.erfolgreich)
|
|
self.assertIn("Kein Stil angegeben.", result.warnungen)
|
|
self.assertIsNone(result.daten["stil"])
|
|
|
|
def test_datei_existiert_mit_qml(self):
|
|
with tempfile.NamedTemporaryFile(suffix=".qml", delete=False) as tmp_file:
|
|
tmp_path = tmp_file.name
|
|
try:
|
|
result = self.pruefer.pruefe(tmp_path)
|
|
self.assertTrue(result.erfolgreich)
|
|
self.assertEqual(result.daten["stil"], tmp_path)
|
|
self.assertEqual(result.fehler, [])
|
|
finally:
|
|
os.remove(tmp_path)
|
|
|
|
def test_datei_existiert_falsche_endung(self):
|
|
with tempfile.NamedTemporaryFile(suffix=".txt", delete=False) as tmp_file:
|
|
tmp_path = tmp_file.name
|
|
try:
|
|
result = self.pruefer.pruefe(tmp_path)
|
|
self.assertFalse(result.erfolgreich)
|
|
self.assertIn("Ungültige Dateiendung", result.fehler[0])
|
|
finally:
|
|
os.remove(tmp_path)
|
|
|
|
def test_datei_existiert_nicht(self):
|
|
fake_path = os.path.join(tempfile.gettempdir(), "nichtvorhanden.qml")
|
|
result = self.pruefer.pruefe(fake_path)
|
|
self.assertFalse(result.erfolgreich)
|
|
self.assertIn("Stildatei nicht gefunden", result.fehler[0])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|