29 lines
996 B
Python
29 lines
996 B
Python
"""La fabrique rend un overlay conforme au contrat, sans ouvrir de fenêtre."""
|
|
import pytest
|
|
|
|
from interface import classe_overlay_pour
|
|
|
|
|
|
def test_l_overlay_macos_declare_tout_le_contrat():
|
|
classe = classe_overlay_pour("darwin")
|
|
for methode in ("show", "hide", "set_level", "set_status", "rearmer_garde"):
|
|
assert callable(getattr(classe, methode, None)), f"{methode} manque"
|
|
|
|
|
|
def test_une_plateforme_inconnue_est_refusee_clairement():
|
|
with pytest.raises(NotImplementedError) as e:
|
|
classe_overlay_pour("haiku-os")
|
|
assert "haiku-os" in str(e.value)
|
|
|
|
|
|
def test_la_fabrique_rend_overlayqt_pour_win32():
|
|
classe = classe_overlay_pour("win32")
|
|
from interface.qt import OverlayQt
|
|
assert classe is OverlayQt
|
|
|
|
|
|
def test_l_overlay_qt_declare_tout_le_contrat():
|
|
classe = classe_overlay_pour("win32")
|
|
for methode in ("show", "hide", "set_level", "set_status", "rearmer_garde"):
|
|
assert callable(getattr(classe, methode, None)), f"{methode} manque"
|