|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires du catalogue des écrans du RPG et de leur ossature (LOT-68, EX-IHM-090, EX-IHM-091). More...
#include <fstream>#include <set>#include <sstream>#include <string>#include <unordered_map>#include <gtest/gtest.h>#include "HMI/Localization/Localization.h"#include "HMI/Presentation/RpgScreens.h"Functions | |
| TEST (RpgScreensTest, LeCycleTraverseLesNeufEcrans) | |
| Les neuf écrans sont déclarés, et le cycle les traverse tous avant de revenir au premier. | |
| TEST (RpgScreensTest, LePasArriereEstLInverseDuPasAvant) | |
| Le pas arrière est l'exact inverse du pas avant, aux extrémités comprises. | |
| TEST (RpgScreensTest, LaRegleDeSuperpositionEstCelleAttendue) | |
| La règle de superposition est celle décidée par le lot : la carte et l'ATH de combat se consultent en marchant, les sept autres écrans suspendent la simulation (EX-IHM-091). | |
| TEST (RpgScreensTest, ChaqueEcranEstIdentifiableEtNonVide) | |
| Chaque écran porte un nom d'objet et une clé de titre uniques, et une ossature non vide : sans quoi la feuille de style en habillerait deux pour un, ou l'écran s'ouvrirait sur du vide. | |
| TEST (RpgScreensTest, ChaqueBlocEstCoherentAvecSonGenre) | |
| Chaque bloc est cohérent avec son genre : un bloc de champs porte des libellés, une grille des dimensions, une liste des lignes. | |
| TEST (RpgScreensTest, ChaqueCleDeLOssatureExisteDansLesDeuxLangues) | |
| Toutes les clés de l'ossature — titres d'écrans, titres de blocs, libellés de champs — existent dans les deux catalogues livrés (EX-REN-033). | |
| TEST (RpgScreensTest, LesIdentifiantsDeValeurSontUniquesParEcran) | |
| Les identifiants de valeur sont uniques dans un écran (LOT-38). | |
Tests unitaires du catalogue des écrans du RPG et de leur ossature (LOT-68, EX-IHM-090, EX-IHM-091).
Logique pure, sans Qt.
| TEST | ( | RpgScreensTest | , |
| ChaqueBlocEstCoherentAvecSonGenre | ) |
Chaque bloc est cohérent avec son genre : un bloc de champs porte des libellés, une grille des dimensions, une liste des lignes.
Un genre renseigné à moitié ne se voit autrement qu'à l'écran, sous la forme d'un bloc vide qu'on prendrait pour une absence de contenu. Cas de test : Chaque bloc de l'ossature est coherent avec son genre.
Categorie : Unitaire · Ecrans du RPG
Criticite : Majeur
Etapes :
1. Parcourir les blocs des deux colonnes de chaque ecran.
2. Verifier les dimensions et libelles exiges par chaque genre.
Resultat attendu : Aucun bloc n'est renseigne a moitie.
| TEST | ( | RpgScreensTest | , |
| ChaqueCleDeLOssatureExisteDansLesDeuxLangues | ) |
Toutes les clés de l'ossature — titres d'écrans, titres de blocs, libellés de champs — existent dans les deux catalogues livrés (EX-REN-033).
L'ossature étant une table, une clé s'y ajoute sans qu'aucun .ui ni aucun appel n'en garde la trace : rien, sinon ce test, ne dirait qu'elle n'a jamais été traduite. Le défaut s'afficherait comme la clé elle-même au milieu d'une feuille de personnage. Cas de test : Chaque cle de l'ossature des ecrans du RPG existe en francais et en anglais.
Categorie : Unitaire · Ecrans du RPG
Criticite : Majeur
Etapes :
1. Lire fr.lang et en.lang.
2. Verifier chaque cle de titre, de bloc et de champ, plus les cles du pied d'actions.
Resultat attendu : Aucune cle n'est absente de l'un ou l'autre catalogue.
| TEST | ( | RpgScreensTest | , |
| ChaqueEcranEstIdentifiableEtNonVide | ) |
Chaque écran porte un nom d'objet et une clé de titre uniques, et une ossature non vide : sans quoi la feuille de style en habillerait deux pour un, ou l'écran s'ouvrirait sur du vide.
Cas de test : Chaque ecran a un nom d'objet unique, un titre unique et une ossature non vide.
Categorie : Unitaire · Ecrans du RPG
Criticite : Majeur
Etapes :
1. Collecter noms d'objets et cles de titre.
2. Verifier leur unicite et la presence d'au moins un bloc par ecran.
Resultat attendu : Aucun doublon, aucune ossature vide.
| TEST | ( | RpgScreensTest | , |
| LaRegleDeSuperpositionEstCelleAttendue | ) |
La règle de superposition est celle décidée par le lot : la carte et l'ATH de combat se consultent en marchant, les sept autres écrans suspendent la simulation (EX-IHM-091).
Cas de test : La regle de superposition est celle attendue pour chacun des neuf ecrans.
Categorie : Unitaire · Ecrans du RPG
Criticite : Majeur
Etapes :
1. Interroger pausesGame pour chacun des neuf ecrans.
Resultat attendu : La carte du monde et l'ATH de combat ne suspendent pas ; les sept autres suspendent.
| TEST | ( | RpgScreensTest | , |
| LeCycleTraverseLesNeufEcrans | ) |
Les neuf écrans sont déclarés, et le cycle les traverse tous avant de revenir au premier.
Cas de test : Le cycle de navigation traverse les neuf ecrans et revient au premier.
Categorie : Unitaire · Ecrans du RPG
Criticite : Critique
Etapes :
1. Partir du premier ecran.
2. Appeler nextRpgScreen neuf fois en notant chaque ecran atteint.
Resultat attendu : Les neuf ecrans sont atteints une fois chacun, et le neuvieme pas ramene au premier.
| TEST | ( | RpgScreensTest | , |
| LePasArriereEstLInverseDuPasAvant | ) |
Le pas arrière est l'exact inverse du pas avant, aux extrémités comprises.
Cas de test : Le pas arriere est l'inverse du pas avant.
Categorie : Unitaire · Ecrans du RPG
Criticite : Majeur
Etapes :
1. Pour chaque ecran, avancer puis reculer.
2. Reculer depuis le premier ecran.
Resultat attendu : On retombe sur l'ecran de depart, et le premier ecran recule vers le dernier.
| TEST | ( | RpgScreensTest | , |
| LesIdentifiantsDeValeurSontUniquesParEcran | ) |
Les identifiants de valeur sont uniques dans un écran (LOT-38).
Deux champs qui portent le même identifiant reçoivent la même valeur : la fiche afficherait le même nombre à deux endroits, ce qui se lit comme une coïncidence et non comme un défaut. Le contrôle est par écran et non global, parce qu'un identifiant est résolu par l'écran qui le porte – deux écrans ont le droit d'afficher chacun leur « nom ». Cas de test : Les identifiants de valeur sont uniques a l'interieur d'un ecran.
cat Unitaire · Ecrans du RPG
crit Majeur
etapes 1. Collecter les identifiants de valeur de chaque ecran.
2. Verifier qu'aucun ne se repete dans un meme ecran.
attendu Aucun identifiant duplique.