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()