|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la priorité de résolution surcharge > skin > damier (LOT-45, EX-EDIT-043), de l'affichage isolé sans repli (LOT-51, EX-EDIT-044) et de hmi::textureOverrideAt. More...
#include <optional>#include <string>#include <vector>#include <gtest/gtest.h>#include "Core/Ecs/Components/Sprite.h"#include "Core/Levels/GridPosition.h"#include "Core/Levels/Level.h"#include "Core/Levels/TileType.h"#include "HMI/Graphics/MissingTexture.h"#include "HMI/Graphics/RenderMode.h"#include "HMI/Graphics/SkinCatalog.h"#include "HMI/Graphics/TextureAtlas.h"#include "HMI/Graphics/TileAppearance.h"#include "HMI/Graphics/TileSkinTag.h"#include "HMI/Graphics/TileVisuals.h"Functions | |
| TEST (TextureResolutionTest, SurchargeChargeePrioritaireSurLeSkin) | |
| Une surcharge chargée est prioritaire sur le skin du type, même si le type a un skin assigné différent. | |
| TEST (TextureResolutionTest, SurchargeIntrouvableRetombeSurLeDamierPasSurLeSkin) | |
| Une surcharge dont l'asset n'est pas chargé retombe directement sur le damier, jamais silencieusement sur le skin du type. | |
| TEST (TextureResolutionTest, SansSurchargeLeSkinSAppliqueNormalement) | |
| Sans surcharge, la résolution retombe sur le comportement du skin (LOT-42), inchangé. | |
| TEST (TextureResolutionTest, SurchargeSAppliqueMemeSansSkinDuType) | |
| Une surcharge sur un type sans skin assigné s'affiche quand même (elle ne dépend pas du catalogue). | |
| TEST (TextureResolutionTest, SurchargeSAppliqueMemeSansCatalogue) | |
| Une surcharge sans catalogue de skins chargé s'affiche quand même. | |
| TEST (TextureResolutionTest, ModePhysiqueIgnoreLesSurcharges) | |
| Le mode Physique ignore totalement les surcharges, comme les skins. | |
| TEST (TextureResolutionTest, IndexDObjetInvalideBorne) | |
| Un index d'objet invalide ne lit jamais hors des bornes. | |
| TEST (TextureResolutionTest, ObjetsSeulsSurchargeChargeeSAffiche) | |
| Affichage isolé « objets interactifs seuls » (LOT-51, EX-EDIT-044) : une surcharge chargée s'affiche normalement, l'axe skin n'intervient pas. | |
| TEST (TextureResolutionTest, ObjetsSeulsSansSurchargeNAfficheRien) | |
| Affichage isolé « objets interactifs seuls » : une case sans surcharge, même si son type a un skin, n'affiche rien — ni skin, ni damier. | |
| TEST (TextureResolutionTest, ObjetsSeulsSansSurchargeNiSkinNAfficheRien) | |
| Affichage isolé « objets interactifs seuls » : une case sans surcharge ni skin n'affiche pas non plus le damier. | |
| TEST (TextureResolutionTest, SkinSeulTypeSkinneSAfficheNormalement) | |
| Affichage isolé « skin des tuiles seul » : un type skinné, sans surcharge, s'affiche normalement. | |
| TEST (TextureResolutionTest, SkinSeulTypeNonSkinneNAfficheRien) | |
| Affichage isolé « skin des tuiles seul » : un type non skinné n'affiche rien — c'est le diagnostic recherché (quels types manquent encore un skin), pas le damier habituel. | |
| TEST (TextureResolutionTest, SkinSeulCaseAvecSurchargeNAfficheRien) | |
| Affichage isolé « skin des tuiles seul » : une case portant une surcharge n'affiche rien non plus — l'axe surcharge est masqué, l'isolement ne retombe jamais sur un autre axe. | |
| TEST (TextureResolutionTest, DeuxAxesMasquesNAfficheJamaisRien) | |
| Les deux axes masqués n'affichent jamais rien, quelle que soit la tuile — équivalent à un calque « Tile » entièrement masqué (LOT-51 TACHE-01). | |
| TEST (TextureResolutionTest, ModeComposeSurchargeIntrouvableRetombeSurLeDamier) | |
| Le résolveur en mode composé (les deux axes visibles, le défaut) garde exactement le comportement de LOT-45 : une surcharge introuvable retombe sur le damier même quand elle est la seule chose composée pour cette case. | |
| TEST (TextureResolutionTest, TextureOverrideAtTrouveLaSurchargeDeLaBonneCase) | |
| textureOverrideAt trouve la surcharge d'une case précise, et distingue les positions voisines. | |
Tests unitaires de la priorité de résolution surcharge > skin > damier (LOT-45, EX-EDIT-043), de l'affichage isolé sans repli (LOT-51, EX-EDIT-044) et de hmi::textureOverrideAt.
| TEST | ( | TextureResolutionTest | , |
| DeuxAxesMasquesNAfficheJamaisRien | ) |
Les deux axes masqués n'affichent jamais rien, quelle que soit la tuile — équivalent à un calque « Tile » entièrement masqué (LOT-51 TACHE-01).
Cas de test : Les deux axes masques n'affichent jamais rien.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Résoudre une tuile Solid skinnée avec surcharge, les deux axes masqués.
Resultat attendu : Aucune apparence n'est renvoyée.
| TEST | ( | TextureResolutionTest | , |
| IndexDObjetInvalideBorne | ) |
Un index d'objet invalide ne lit jamais hors des bornes.
Cas de test : Un index d'objet invalide retombe sur le damier sans lecture hors bornes.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Interroger les textures avec une apparence Override portant un index hors bornes.
Resultat attendu : La texture et les dimensions rendues sont celles du damier.
| TEST | ( | TextureResolutionTest | , |
| ModeComposeSurchargeIntrouvableRetombeSurLeDamier | ) |
Le résolveur en mode composé (les deux axes visibles, le défaut) garde exactement le comportement de LOT-45 : une surcharge introuvable retombe sur le damier même quand elle est la seule chose composée pour cette case.
Cas de test : Mode compose : une surcharge introuvable retombe toujours sur le damier.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile Solid skinnée portant une surcharge introuvable, les deux axes visibles (valeurs par défaut).
Resultat attendu : La source est le damier, comme avant LOT-51.
| TEST | ( | TextureResolutionTest | , |
| ModePhysiqueIgnoreLesSurcharges | ) |
Le mode Physique ignore totalement les surcharges, comme les skins.
Cas de test : Le mode Physique ignore les surcharges.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile portant une surcharge, en mode Physique.
Resultat attendu : La source est l'atlas, la région physique passée en entrée.
| TEST | ( | TextureResolutionTest | , |
| ObjetsSeulsSansSurchargeNAfficheRien | ) |
Affichage isolé « objets interactifs seuls » : une case sans surcharge, même si son type a un skin, n'affiche rien — ni skin, ni damier.
Cas de test : Objets interactifs seuls : une case sans surcharge n'affiche rien.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile Solid skinnée sans surcharge, axe skin masqué.
Resultat attendu : Aucune apparence n'est renvoyée (pas de repli sur le skin ni le damier).
| TEST | ( | TextureResolutionTest | , |
| ObjetsSeulsSansSurchargeNiSkinNAfficheRien | ) |
Affichage isolé « objets interactifs seuls » : une case sans surcharge ni skin n'affiche pas non plus le damier.
Cas de test : Objets interactifs seuls : une case sans surcharge ni skin n'affiche pas le damier.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Résoudre une tuile Danger (non skinnée) sans surcharge, axe skin masqué.
Resultat attendu : Aucune apparence n'est renvoyée.
| TEST | ( | TextureResolutionTest | , |
| ObjetsSeulsSurchargeChargeeSAffiche | ) |
Affichage isolé « objets interactifs seuls » (LOT-51, EX-EDIT-044) : une surcharge chargée s'affiche normalement, l'axe skin n'intervient pas.
Cas de test : Objets interactifs seuls : une surcharge chargee s'affiche normalement.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile Solid skinnée portant une surcharge chargée, axe skin masqué.
Resultat attendu : La source est la surcharge, comme en mode composé.
| TEST | ( | TextureResolutionTest | , |
| SansSurchargeLeSkinSAppliqueNormalement | ) |
Sans surcharge, la résolution retombe sur le comportement du skin (LOT-42), inchangé.
Cas de test : Sans surcharge, le skin du type s'applique normalement.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Résoudre une tuile Solid skinnée, sans surcharge.
Resultat attendu : La source est le skin du type.
| TEST | ( | TextureResolutionTest | , |
| SkinSeulCaseAvecSurchargeNAfficheRien | ) |
Affichage isolé « skin des tuiles seul » : une case portant une surcharge n'affiche rien non plus — l'axe surcharge est masqué, l'isolement ne retombe jamais sur un autre axe.
Cas de test : Skin des tuiles seul : une case avec surcharge n'affiche rien.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Résoudre une tuile Solid portant une surcharge chargée, axe surcharge masqué.
Resultat attendu : Aucune apparence n'est renvoyée.
| TEST | ( | TextureResolutionTest | , |
| SkinSeulTypeNonSkinneNAfficheRien | ) |
Affichage isolé « skin des tuiles seul » : un type non skinné n'affiche rien — c'est le diagnostic recherché (quels types manquent encore un skin), pas le damier habituel.
Cas de test : Skin des tuiles seul : un type non skinne n'affiche rien.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile Danger (non skinnée) sans surcharge, axe surcharge masqué.
Resultat attendu : Aucune apparence n'est renvoyée (pas de damier).
| TEST | ( | TextureResolutionTest | , |
| SkinSeulTypeSkinneSAfficheNormalement | ) |
Affichage isolé « skin des tuiles seul » : un type skinné, sans surcharge, s'affiche normalement.
Cas de test : Skin des tuiles seul : un type skinne s'affiche normalement.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile Solid skinnée sans surcharge, axe surcharge masqué.
Resultat attendu : La source est le skin du type, comme en mode composé.
| TEST | ( | TextureResolutionTest | , |
| SurchargeChargeePrioritaireSurLeSkin | ) |
Une surcharge chargée est prioritaire sur le skin du type, même si le type a un skin assigné différent.
Cas de test : Une surcharge chargée est prioritaire sur le skin du type.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile Solid (skinnée) portant une surcharge chargée, en mode Texture.
Resultat attendu : La source est la surcharge, pas le skin du type.
| TEST | ( | TextureResolutionTest | , |
| SurchargeIntrouvableRetombeSurLeDamierPasSurLeSkin | ) |
Une surcharge dont l'asset n'est pas chargé retombe directement sur le damier, jamais silencieusement sur le skin du type.
Cas de test : Une surcharge introuvable retombe sur le damier, pas sur le skin.
Categorie : Unitaire · Résolution de texture
Criticite : Critique
Etapes :
1. Résoudre une tuile Solid skinnée portant une surcharge dont l'asset n'est pas chargé.
Resultat attendu : La source est le damier.
| TEST | ( | TextureResolutionTest | , |
| SurchargeSAppliqueMemeSansCatalogue | ) |
Une surcharge sans catalogue de skins chargé s'affiche quand même.
Cas de test : Une surcharge s'affiche même sans catalogue de skins.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Résoudre une tuile portant une surcharge, catalogue absent.
Resultat attendu : La source est la surcharge, sans déréférencement de pointeur nul.
| TEST | ( | TextureResolutionTest | , |
| SurchargeSAppliqueMemeSansSkinDuType | ) |
Une surcharge sur un type sans skin assigné s'affiche quand même (elle ne dépend pas du catalogue).
Cas de test : Une surcharge s'affiche même sur un type sans skin.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Résoudre une tuile Danger (non skinnée) portant une surcharge chargée.
Resultat attendu : La source est la surcharge.
| TEST | ( | TextureResolutionTest | , |
| TextureOverrideAtTrouveLaSurchargeDeLaBonneCase | ) |
textureOverrideAt trouve la surcharge d'une case précise, et distingue les positions voisines.
Cas de test : textureOverrideAt trouve la surcharge d'une case precise.
Categorie : Unitaire · Résolution de texture
Criticite : Majeur
Etapes :
1. Chercher une position avec et sans surcharge dans une liste de surcharges.
Resultat attendu : Le nom d'asset est trouvé pour la position exacte, absent ailleurs.