JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
test_screen_flow.cpp File Reference

Tests unitaires de la machine à états des écrans (LOT-59 TACHE-01, EX-GP-041). More...

#include <gtest/gtest.h>
#include "HMI/Presentation/ScreenFlow.h"

Functions

 TEST (ScreenFlowTest, TransitionsAutoriseesMenentALEcranAttendu)
 Chaque transition autorisée mène à l'écran attendu.
 TEST (ScreenFlowTest, OptionsRevientVersSonEcranDOrigine)
 Options revient vers l'écran d'où il a été ouvert : Menu si ouvert depuis Menu, Pause si ouvert depuis Pause – porté par l'état, pas par une variable à part.
 TEST (ScreenFlowTest, TransitionInterditeEstRefusee)
 Une transition interdite est refusée (std::nullopt), notamment Editor -> Pause et Menu -> Pause.
 TEST (ScreenFlowTest, EcranDuRpgRevientVersSonEcranDOrigine)
 Un écran du RPG revient vers l'écran d'où il a été ouvert – menu, jeu ou pause – porté par l'état, comme la provenance d'Options (LOT-68, EX-IHM-090).
 TEST (ScreenFlowTest, HabillageDeFenetreEstCeluiAttenduParEcran)
 L'habillage de fenêtre attendu pour chacun des sept écrans correspond à ce que MainWindow appliquait à la main avant l'extraction de la table (docks, barres, commandes d'édition, navigation manette).

Detailed Description

Tests unitaires de la machine à états des écrans (LOT-59 TACHE-01, EX-GP-041).

Logique pure, sans Qt.

Function Documentation

◆ TEST() [1/5]

TEST ( ScreenFlowTest ,
EcranDuRpgRevientVersSonEcranDOrigine  )

Un écran du RPG revient vers l'écran d'où il a été ouvert – menu, jeu ou pause – porté par l'état, comme la provenance d'Options (LOT-68, EX-IHM-090).

Cas de test : Un ecran du RPG revient vers son ecran d'origine (Menu, Game ou Pause).
cat Unitaire · Machine à états des écrans
crit Critique
etapes 1. Ouvrir un ecran du RPG depuis le menu, le jeu puis la pause.
2. Le fermer a chaque fois et verifier l'ecran atteint.
attendu Chaque fermeture revient a l'ecran d'origine respectif.

◆ TEST() [2/5]

TEST ( ScreenFlowTest ,
HabillageDeFenetreEstCeluiAttenduParEcran  )

L'habillage de fenêtre attendu pour chacun des sept écrans correspond à ce que MainWindow appliquait à la main avant l'extraction de la table (docks, barres, commandes d'édition, navigation manette).

Cas de test : L'habillage de fenêtre est celui attendu pour chaque écran.
Categorie : Unitaire · Machine à états des écrans
Criticite : Majeur
Etapes :
1. Interroger l'habillage de chacun des sept écrans.
2. Vérifier chaque champ.
Resultat attendu : L'habillage correspond au comportement historique de chaque showXxx().

◆ TEST() [3/5]

TEST ( ScreenFlowTest ,
OptionsRevientVersSonEcranDOrigine  )

Options revient vers l'écran d'où il a été ouvert : Menu si ouvert depuis Menu, Pause si ouvert depuis Pause – porté par l'état, pas par une variable à part.

Cas de test : Options revient vers son écran d'origine (Menu ou Pause).
Categorie : Unitaire · Machine à états des écrans
Criticite : Critique
Etapes :
1. Ouvrir Options depuis Menu, puis le fermer : vérifier le retour au Menu.
2. Ouvrir Options depuis Pause, puis le fermer : vérifier le retour à Pause.
Resultat attendu : Chaque fermeture revient à l'écran d'origine respectif.

◆ TEST() [4/5]

TEST ( ScreenFlowTest ,
TransitionInterditeEstRefusee  )

Une transition interdite est refusée (std::nullopt), notamment Editor -> Pause et Menu -> Pause.

Cas de test : Une transition interdite est refusée.
Categorie : Unitaire · Machine à états des écrans
Criticite : Critique
Etapes :
1. Tenter Editor -> Pause (via OpenPause).
2. Tenter Menu -> LevelComplete (via LevelSucceeded).
3. Tenter Menu -> Pause directement.
Resultat attendu : Chaque tentative renvoie std::nullopt.

◆ TEST() [5/5]

TEST ( ScreenFlowTest ,
TransitionsAutoriseesMenentALEcranAttendu  )

Chaque transition autorisée mène à l'écran attendu.

Cas de test : Chaque transition autorisée mène à l'écran attendu.
Categorie : Unitaire · Machine à états des écrans
Criticite : Critique
Etapes :
1. Résoudre chacune des transitions autorisées listées.
2. Vérifier l'écran résultant.
Resultat attendu : Chaque transition mène à l'écran attendu.