|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la bascule Physique/Texture (LOT-41, EX-REN-046). More...
#include <gtest/gtest.h>#include "Core/Ecs/Components/Sprite.h"#include "Core/Ecs/Components/Transform.h"#include "Core/Ecs/World.h"#include "HMI/Graphics/ComposedScene.h"#include "HMI/Graphics/MissingTexture.h"#include "HMI/Graphics/QuadRecorder.h"#include "HMI/Graphics/RenderMode.h"#include "HMI/Graphics/TextureAtlas.h"#include "HMI/Graphics/TileAppearance.h"#include "HMI/Input/EditorKeyBindings.h"#include "HMI/Input/GameKeyBindings.h"Functions | |
| TEST (RenderModeTest, AllerRetourDuNomPersiste) | |
| Le nom persisté fait l'aller-retour sans perte, pour les deux modes. | |
| TEST (RenderModeTest, PreferenceInvalideRetombeSurLeDefaut) | |
| Une préférence absente, vide ou corrompue retombe sur Texture, le défaut unique de toutes les configurations de build. | |
| TEST (RenderModeTest, LectureInsensibleALaCasse) | |
| La lecture d'un nom persisté est insensible à la casse : une préférence éditée à la main ne doit pas réinitialiser silencieusement le mode. | |
| TEST (RenderModeTest, ModePhysiqueRendLaRegionDAtlas) | |
| En mode Physique, le résolveur rend exactement la région d'atlas attendue pour chaque type de tuile : le mode de référence est inchangé. | |
| TEST (RenderModeTest, ModeTextureRetombeSurLeDamier) | |
| En mode Texture, une entité sans marque d'habillage retombe sur le damier de repli : c'est le cas du personnage et des aides d'édition, jamais habillés. | |
| TEST (RenderModeTest, ModePhysiqueNonRegression) | |
| Non-régression : en mode Physique, la scène de référence produit exactement les primitives d'avant le lot — mêmes positions, mêmes régions, mêmes calques, même ordre. | |
| TEST (RenderModeTest, ModeTextureConserveLaGeometrie) | |
| En mode Texture, toutes les primitives sont liées au damier, mais la géométrie est identique au mode Physique : la bascule compare l'habillage au physique, pas deux tailles de tuiles. | |
| TEST (RenderModeTest, BasculeSansEffetRemanent) | |
| La bascule est sans effet rémanent : Physique → Texture → Physique restitue exactement la première liste. | |
| TEST (RenderModeTest, F8HorsDesTablesDeRemappage) | |
| F8 n'apparaît dans aucune table de remappage : ni parmi les touches par défaut du jeu, ni parmi celles de l'éditeur. | |
Tests unitaires de la bascule Physique/Texture (LOT-41, EX-REN-046).
| TEST | ( | RenderModeTest | , |
| AllerRetourDuNomPersiste | ) |
Le nom persisté fait l'aller-retour sans perte, pour les deux modes.
Cas de test : Le nom persiste du mode fait l'aller-retour sans perte.
Categorie : Unitaire · Render Mode
Criticite : Majeur
Etapes :
1. Convertir chaque mode en nom, puis le nom en mode.
Resultat attendu : Le mode d'origine est retrouve.
| TEST | ( | RenderModeTest | , |
| BasculeSansEffetRemanent | ) |
La bascule est sans effet rémanent : Physique → Texture → Physique restitue exactement la première liste.
Cas de test : La bascule Physique -> Texture -> Physique est sans effet remanent.
Categorie : Unitaire · Render Mode
Criticite : Critique
Etapes :
1. Composer en Physique, puis en Texture, puis de nouveau en Physique.
2. Comparer la premiere et la troisieme liste.
Resultat attendu : Les deux listes Physique sont identiques.
| TEST | ( | RenderModeTest | , |
| F8HorsDesTablesDeRemappage | ) |
F8 n'apparaît dans aucune table de remappage : ni parmi les touches par défaut du jeu, ni parmi celles de l'éditeur.
La garantie est structurelle : hmi::qtKeyToHmiKey (couche Qt) ne traduit pas Qt::Key_F8, la touche ne peut donc jamais atteindre hmi::InputState ni être capturée par l'écran de remappage (EX-CTRL-012). Ce test verrouille l'autre moitié — qu'aucune valeur par défaut ne l'utilise déjà. Cas de test : F8 n'apparait dans aucune table de remappage.
Categorie : Unitaire · Render Mode
Criticite : Critique
Etapes :
1. Parcourir les touches par defaut de toutes les actions de jeu et d'edition.
Resultat attendu : Aucune n'est le code virtuel de F8.
| TEST | ( | RenderModeTest | , |
| LectureInsensibleALaCasse | ) |
La lecture d'un nom persisté est insensible à la casse : une préférence éditée à la main ne doit pas réinitialiser silencieusement le mode.
Cas de test : La lecture du nom persiste est insensible a la casse.
Categorie : Unitaire · Render Mode
Criticite : Mineur
Etapes :
1. Convertir « PHYSIQUE » et « Texture ».
Resultat attendu : Les modes correspondants sont retrouves.
| TEST | ( | RenderModeTest | , |
| ModePhysiqueNonRegression | ) |
Non-régression : en mode Physique, la scène de référence produit exactement les primitives d'avant le lot — mêmes positions, mêmes régions, mêmes calques, même ordre.
Cas de test : Non-regression : le mode Physique produit les primitives d'avant le lot.
Categorie : Unitaire · Render Mode
Criticite : Critique
Etapes :
1. Composer la scene de reference en mode Physique.
2. Inspecter la liste capturee.
Resultat attendu : Les tuiles precedent le personnage, sur la texture d'atlas, avec les regions d'origine.
| TEST | ( | RenderModeTest | , |
| ModePhysiqueRendLaRegionDAtlas | ) |
En mode Physique, le résolveur rend exactement la région d'atlas attendue pour chaque type de tuile : le mode de référence est inchangé.
Cas de test : En mode Physique, le resolveur rend la region d'atlas de chaque type de tuile.
Categorie : Unitaire · Render Mode
Criticite : Critique
Etapes :
1. Pour chaque type de tuile, resoudre l'apparence en mode Physique.
Resultat attendu : La region est celle de l'atlas et la source est l'atlas.
| TEST | ( | RenderModeTest | , |
| ModeTextureConserveLaGeometrie | ) |
En mode Texture, toutes les primitives sont liées au damier, mais la géométrie est identique au mode Physique : la bascule compare l'habillage au physique, pas deux tailles de tuiles.
Cas de test : Le mode Texture lie le damier sans changer la geometrie composee.
Categorie : Unitaire · Render Mode
Criticite : Critique
Etapes :
1. Composer la scene de reference dans les deux modes.
2. Comparer textures, positions et tailles.
Resultat attendu : Les textures different, les positions et tailles sont identiques.
| TEST | ( | RenderModeTest | , |
| ModeTextureRetombeSurLeDamier | ) |
En mode Texture, une entité sans marque d'habillage retombe sur le damier de repli : c'est le cas du personnage et des aides d'édition, jamais habillés.
Cas de test : En mode Texture, une entite sans marque d'habillage retombe sur le damier.
Categorie : Unitaire · Render Mode
Criticite : Critique
Etapes :
1. Resoudre l'apparence en mode Texture sans marque d'habillage.
Resultat attendu : La source est le damier et la region couvre le damier entier.
| TEST | ( | RenderModeTest | , |
| PreferenceInvalideRetombeSurLeDefaut | ) |
Une préférence absente, vide ou corrompue retombe sur Texture, le défaut unique de toutes les configurations de build.
Cas de test : Une preference absente ou invalide retombe sur le mode Texture.
Categorie : Unitaire · Render Mode
Criticite : Critique
Etapes :
1. Convertir une chaine vide, une chaine inconnue et une chaine tronquee.
Resultat attendu : Les trois donnent le mode par defaut, qui est Texture.