Files
Plugin_SN_Basis/test/test_stilpruefer.py

52 lines
1.8 KiB
Python
Raw Normal View History

#test_stilpruefer.py
import unittest
import tempfile
import os
import sys
# Plugin-Root ermitteln (ein Verzeichnis über "test")
ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
sys.path.insert(0, ROOT)
from modules.stilpruefer import Stilpruefer
from modules.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()