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

Tests des clés d'assets d'entité et de leurs marqueurs (LOT-39, EX-CNT-040, EX-CNT-041). More...

#include <algorithm>
#include <filesystem>
#include <set>
#include <string>
#include <vector>
#include <gtest/gtest.h>
#include "Core/Resources/AssetKey.h"
#include "Core/Resources/AssetMarker.h"

Functions

 TEST (AssetKeyTest, UneCleNEstJamaisUnCheminDeFichier)
 Une clé d'asset n'est jamais un chemin de fichier.
 TEST (AssetKeyTest, UneCleSeDecomposeEtSeRecompose)
 Une clé se décompose et se recompose sans perte.
 TEST (AssetKeyTest, LaTableDesFamillesLivreeSeCharge)
 La table des familles LIVRÉE se charge, et chaque famille porte ses dimensions.
 TEST (AssetKeyTest, AucuneCleOrphelineDansLesCataloguesLivres)
 Aucune clé orpheline dans les catalogues livrés — c'est le critère d'acceptation.
 TEST (AssetKeyTest, LeManifesteDeriveNAPasDeDoublon)
 Le manifeste dérivé ne porte aucun doublon, et chaque clé est bien formée.
 TEST (AssetMarkerTest, UnMarqueurEstDeterministe)
 Un marqueur est déterministe : la même clé donne toujours le même.
 TEST (AssetMarkerTest, UnMarqueurRespecteSesDimensionsEtSeVoit)
 Un marqueur respecte les dimensions demandées, et se voit comme un marqueur.
 TEST (AssetMarkerTest, UneCleMalformeeNeRecoitPasDeMarqueur)
 Une clé malformée ne reçoit pas de marqueur.
 TEST (AssetMarkerTest, TouteCleAttendueObtientUnMarqueur)
 Toute clé attendue par les catalogues obtient un marqueur : le jeu tourne complet.

Detailed Description

Tests des clés d'assets d'entité et de leurs marqueurs (LOT-39, EX-CNT-040, EX-CNT-041).

Ces tests lisent la donnée livrée — la table des familles et les catalogues réels — parce que c'est elle que le jeu chargera, et que le manifeste est dérivé : une fixture serait une seconde source, qui divergerait au premier ajout de créature.

Function Documentation

◆ TEST() [1/9]

TEST ( AssetKeyTest ,
AucuneCleOrphelineDansLesCataloguesLivres  )

Aucune clé orpheline dans les catalogues livrés — c'est le critère d'acceptation.

Cas de test : Aucune cle d'asset orpheline dans les catalogues livres.
Categorie : Unitaire · Assets
Criticite : Critique
Etapes :
1. Deriver le manifeste des catalogues reels.
2. Relever les erreurs.
Resultat attendu : Aucune erreur : toute derogation ecrite dans une donnee est bien formee et nomme une famille connue.

◆ TEST() [2/9]

TEST ( AssetKeyTest ,
LaTableDesFamillesLivreeSeCharge  )

La table des familles LIVRÉE se charge, et chaque famille porte ses dimensions.

Cas de test : La table des familles livree se charge.
Categorie : Unitaire · Assets
Criticite : Critique
Etapes :
1. Charger Assets/Entities/families.json.
Resultat attendu : La table est valide, chaque famille a un nom conforme, des dimensions positives et au moins un dossier de catalogue.

◆ TEST() [3/9]

TEST ( AssetKeyTest ,
LeManifesteDeriveNAPasDeDoublon  )

Le manifeste dérivé ne porte aucun doublon, et chaque clé est bien formée.

Cas de test : Le manifeste derive n'a aucun doublon et chaque cle est bien formee.
Categorie : Unitaire · Assets
Criticite : Critique
Etapes :
1. Deriver le manifeste.
2. Verifier l'unicite et la syntaxe de chaque cle.
Resultat attendu : Chaque cle est unique, valide, et nomme une famille de la table.

◆ TEST() [4/9]

TEST ( AssetKeyTest ,
UneCleNEstJamaisUnCheminDeFichier  )

Une clé d'asset n'est jamais un chemin de fichier.

Cas de test : Une cle d'asset n'est jamais un chemin de fichier.
Categorie : Unitaire · Assets
Criticite : Critique
Etapes :
1. Valider des cles bien formees.
2. Valider des chemins et des cles malformees.
Resultat attendu : Seules les cles famille/identifiant sont acceptees ; tout ce qui ressemble a un chemin est refuse.

◆ TEST() [5/9]

TEST ( AssetKeyTest ,
UneCleSeDecomposeEtSeRecompose  )

Une clé se décompose et se recompose sans perte.

Cas de test : Une cle se decompose et se recompose sans perte.
Categorie : Unitaire · Assets
Criticite : Majeur
Etapes :
1. Decomposer une cle valide.
2. La reformer depuis ses deux morceaux.
Resultat attendu : L'aller-retour redonne la cle de depart ; une cle malformee ne se devine pas.

◆ TEST() [6/9]

TEST ( AssetMarkerTest ,
TouteCleAttendueObtientUnMarqueur  )

Toute clé attendue par les catalogues obtient un marqueur : le jeu tourne complet.

Cas de test : Toute cle attendue obtient un marqueur.
Categorie : Unitaire · Assets
Criticite : Critique
Etapes :
1. Deriver le manifeste des catalogues reels.
2. Peindre le marqueur de chaque cle aux dimensions de sa famille.
Resultat attendu : Aucune image vide : les trois cents entrees sont affichables avant qu'aucune illustration n'existe (EX-CNT-041).

◆ TEST() [7/9]

TEST ( AssetMarkerTest ,
UneCleMalformeeNeRecoitPasDeMarqueur  )

Une clé malformée ne reçoit pas de marqueur.

Cas de test : Une cle malformee ne recoit pas de marqueur.
Categorie : Unitaire · Assets
Criticite : Majeur
Etapes :
1. Demander le marqueur d'une cle malformee, puis de dimensions nulles.
Resultat attendu : L'image est vide dans les deux cas.

◆ TEST() [8/9]

TEST ( AssetMarkerTest ,
UnMarqueurEstDeterministe  )

Un marqueur est déterministe : la même clé donne toujours le même.

Cas de test : Un marqueur est deterministe.
Categorie : Unitaire · Assets
Criticite : Critique
Etapes :
1. Peindre deux fois le marqueur d'une meme cle.
2. Peindre celui d'une autre cle.
Resultat attendu : Les deux premiers sont identiques pixel a pixel ; le troisieme differe.

◆ TEST() [9/9]

TEST ( AssetMarkerTest ,
UnMarqueurRespecteSesDimensionsEtSeVoit  )

Un marqueur respecte les dimensions demandées, et se voit comme un marqueur.

Cas de test : Un marqueur respecte ses dimensions et se voit comme un marqueur.
Categorie : Unitaire · Assets
Criticite : Majeur
Etapes :
1. Peindre un marqueur aux dimensions d'une famille.
2. Comparer un pixel de la diagonale a un pixel de coin.
Resultat attendu : Les dimensions sont celles demandees, et les diagonales tranchent sur le fond.