forked from AG_QGIS/Plugin_SN_Plan41
58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
|
|
"""
|
||
|
|
Smoke-Tests für TabA UI (sn_plan41/ui/tab_a_ui.py)
|
||
|
|
|
||
|
|
Ziel:
|
||
|
|
- UI kann erstellt werden
|
||
|
|
- Callbacks crashen nicht
|
||
|
|
- Keine Qt-Verhaltensprüfung
|
||
|
|
"""
|
||
|
|
|
||
|
|
import unittest
|
||
|
|
|
||
|
|
from sn_plan41.ui.tab_a_ui import TabA #type:ignore
|
||
|
|
|
||
|
|
|
||
|
|
class TestTabAUI(unittest.TestCase):
|
||
|
|
|
||
|
|
# -----------------------------------------------------
|
||
|
|
# 1. UI kann erstellt werden
|
||
|
|
# -----------------------------------------------------
|
||
|
|
def test_tab_a_ui_can_be_created(self):
|
||
|
|
tab = TabA(parent=None,build_ui=False)
|
||
|
|
|
||
|
|
self.assertIsNotNone(tab)
|
||
|
|
self.assertEqual(tab.tab_title, "Daten")
|
||
|
|
|
||
|
|
# -----------------------------------------------------
|
||
|
|
# 2. Toggle-Callbacks crashen nicht
|
||
|
|
# -----------------------------------------------------
|
||
|
|
def test_tab_a_toggle_callbacks_do_not_crash(self):
|
||
|
|
tab = TabA(parent=None,build_ui=False)
|
||
|
|
|
||
|
|
tab._toggle_group(True)
|
||
|
|
tab._toggle_group(False)
|
||
|
|
|
||
|
|
tab._toggle_optional(True)
|
||
|
|
tab._toggle_optional(False)
|
||
|
|
|
||
|
|
# -----------------------------------------------------
|
||
|
|
# 3. Datei-Callbacks akzeptieren leere Eingaben
|
||
|
|
# -----------------------------------------------------
|
||
|
|
def test_tab_a_file_callbacks_accept_empty_input(self):
|
||
|
|
tab = TabA(parent=None,build_ui=False)
|
||
|
|
|
||
|
|
tab._on_verfahrens_db_changed("")
|
||
|
|
tab._on_linkliste_changed("")
|
||
|
|
|
||
|
|
# -----------------------------------------------------
|
||
|
|
# 4. Layer-Callback akzeptiert None
|
||
|
|
# -----------------------------------------------------
|
||
|
|
def test_tab_a_layer_callback_accepts_none(self):
|
||
|
|
tab = TabA(parent=None,build_ui=False)
|
||
|
|
|
||
|
|
tab._on_layer_changed(None)
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
unittest.main()
|