|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de l'historique nommé annuler/refaire du canevas pixel art (LOT-54 TACHE-02, EX-EDIT-045). More...
#include <cstdint>#include <filesystem>#include <string>#include <vector>#include <gtest/gtest.h>#include "HMI/Editor/PixelHistory.h"#include "HMI/Editor/PixelOperations.h"#include "HMI/Localization/Localization.h"Functions | |
| TEST (PixelHistoryTest, SuiteDOperationsAnnulableEtRetablissable) | |
| Une suite d'opérations peut être annulée puis rétablie, restituant exactement les mêmes tampons à chaque étape. | |
| TEST (PixelHistoryTest, NouvelleOperationApresAnnulationVideLeRetablissement) | |
| Une nouvelle opération après une annulation vide la pile de rétablissement (la branche abandonnée ne redevient jamais valide). | |
| TEST (PixelHistoryTest, AnnulerAuDelaDuFondDePileSansEffet) | |
| Annuler au-delà du fond de la pile reste sans effet, plutôt que de corrompre l'état ou de lever une exception. | |
| TEST (PixelHistoryTest, JumpToEquivautADesAnnulationsSuccessives) | |
| Sauter directement à l'entrée n donne exactement le même tampon que n annulations successives depuis l'état le plus récent. | |
| TEST (PixelHistoryTest, JumpToHorsBornesEchoueProprement) | |
| jumpTo avec un index hors bornes échoue proprement, sans modifier le tampon. | |
| TEST (PixelHistoryTest, ProfondeurPlafonneeOublieLesEntreesLesPlusAnciennes) | |
| Au-delà de la profondeur maximale, les entrées les plus anciennes sont oubliées sans corrompre l'état courant du tampon. | |
| TEST (PixelHistoryTest, AppliedEntriesExposeLaListeOrdonnee) | |
| appliedEntries() expose la liste ordonnée (chronologique) des opérations en cours, de quoi alimenter le panneau d'historique visuel (TACHE-04). | |
| TEST (PixelHistoryTest, ClesDeNomDOperationExistentDansLesDeuxCatalogues) | |
| Chaque type d'opération produit une clé de traduction, et chaque clé existe, traduite, dans les deux catalogues livrés. | |
Tests unitaires de l'historique nommé annuler/refaire du canevas pixel art (LOT-54 TACHE-02, EX-EDIT-045).
| TEST | ( | PixelHistoryTest | , |
| AnnulerAuDelaDuFondDePileSansEffet | ) |
Annuler au-delà du fond de la pile reste sans effet, plutôt que de corrompre l'état ou de lever une exception.
Cas de test : Annuler au-dela du fond de pile est sans effet.
Categorie : Unitaire · Historique pixel
Criticite : Majeur
Etapes :
1. Sur un historique vide, appeler undo().
2. Appliquer une operation, l'annuler, puis annuler une seconde fois.
Resultat attendu : Chaque appel en trop renvoie false, sans modifier le tampon.
| TEST | ( | PixelHistoryTest | , |
| AppliedEntriesExposeLaListeOrdonnee | ) |
appliedEntries() expose la liste ordonnée (chronologique) des opérations en cours, de quoi alimenter le panneau d'historique visuel (TACHE-04).
Cas de test : appliedEntries expose la liste ordonnee des operations.
Categorie : Unitaire · Historique pixel
Criticite : Majeur
Etapes :
1. Appliquer pinceau puis gomme.
2. Lire appliedEntries().
Resultat attendu : La liste contient les deux entrees, dans l'ordre chronologique.
| TEST | ( | PixelHistoryTest | , |
| ClesDeNomDOperationExistentDansLesDeuxCatalogues | ) |
Chaque type d'opération produit une clé de traduction, et chaque clé existe, traduite, dans les deux catalogues livrés.
Cas de test : Chaque cle de nom d'operation existe dans les deux catalogues.
Categorie : Unitaire · Historique pixel
Criticite : Majeur
Etapes :
1. Charger fr.lang puis en.lang.
2. Resoudre la cle de chaque type d'operation.
Resultat attendu : Chaque cle resout vers un texte traduit, distinct de la cle elle-meme.
| TEST | ( | PixelHistoryTest | , |
| JumpToEquivautADesAnnulationsSuccessives | ) |
Sauter directement à l'entrée n donne exactement le même tampon que n annulations successives depuis l'état le plus récent.
Cas de test : jumpTo produit le meme tampon que des annulations successives.
Categorie : Unitaire · Historique pixel
Criticite : Critique
Etapes :
1. Appliquer quatre operations sur deux tampons identiques independants.
| TEST | ( | PixelHistoryTest | , |
| JumpToHorsBornesEchoueProprement | ) |
jumpTo avec un index hors bornes échoue proprement, sans modifier le tampon.
Cas de test : jumpTo hors bornes echoue proprement.
Categorie : Unitaire · Historique pixel
Criticite : Mineur
Etapes :
1. Appliquer une operation.
2. Appeler jumpTo avec un index hors bornes.
Resultat attendu : jumpTo renvoie false et le tampon reste inchange.
| TEST | ( | PixelHistoryTest | , |
| NouvelleOperationApresAnnulationVideLeRetablissement | ) |
Une nouvelle opération après une annulation vide la pile de rétablissement (la branche abandonnée ne redevient jamais valide).
Cas de test : Une nouvelle operation apres une annulation vide la pile de retablissement.
Categorie : Unitaire · Historique pixel
Criticite : Critique
Etapes :
1. Appliquer deux operations.
2. Annuler la derniere.
3. Appliquer une operation differente.
Resultat attendu : Refaire n'a plus aucun effet : canRedo() est faux.
| TEST | ( | PixelHistoryTest | , |
| ProfondeurPlafonneeOublieLesEntreesLesPlusAnciennes | ) |
Au-delà de la profondeur maximale, les entrées les plus anciennes sont oubliées sans corrompre l'état courant du tampon.
Cas de test : Au-dela de la profondeur maximale, les entrees les plus anciennes sont oubliees.
Categorie : Unitaire · Historique pixel
Criticite : Majeur
Etapes :
1. Construire un historique de profondeur 2.
2. Appliquer trois operations.
Resultat attendu : Seules deux entrees restent (les deux plus recentes) ; le tampon courant reflete toujours les trois operations appliquees.
| TEST | ( | PixelHistoryTest | , |
| SuiteDOperationsAnnulableEtRetablissable | ) |
Une suite d'opérations peut être annulée puis rétablie, restituant exactement les mêmes tampons à chaque étape.
Cas de test : Une suite d'operations est annulable puis retablissable a l'identique.
Categorie : Unitaire · Historique pixel
Criticite : Critique
Etapes :
1. Appliquer trois operations successives.
2. Annuler deux fois.