|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires du cadrage de caméra porté par le niveau : modes, règle de repli et validation (EX-LVL-006, EX-REN-016, LOT-64). More...
#include <filesystem>#include <vector>#include <gtest/gtest.h>#include "Core/Levels/CameraFraming.h"#include "Core/Levels/LevelLoader.h"Functions | |
| TEST (CameraFramingTest, NomEtReconnaissanceSontSymetriques) | |
| Le nom JSON d'un mode et sa reconnaissance sont symétriques pour les trois modes. | |
| TEST (CameraFramingTest, NomInconnuNeProduitAucunMode) | |
| Un nom de mode non reconnu ne produit aucun mode. | |
| TEST (CameraFramingTest, CadrageDeclareEstResoluTelQuel) | |
| Un cadrage déclaré est résolu tel quel, sans substitution. | |
| TEST (CameraFramingTest, RegleDeRepliReproduitLaRegleHistoriqueAuxBornes) | |
| La règle de repli (EX-LVL-006) reproduit exactement la règle historique : niveau entier s'il tient dans une salle de taille par défaut (bornes incluses), par salle sinon. | |
| TEST (CameraFramingTest, ValidationNommeLeChampFautif) | |
| La validation nomme le champ fautif : taille de vue nulle/négative, taille supérieure au niveau, paramètre étranger au mode retenu (EX-LVL-004). | |
| TEST (CameraFramingTest, ValidationDesZonesNommeLeChampFautif) | |
| Les zones de caméra dessinées à la main sont valides uniquement en mode par salle, entièrement dans les bornes du niveau, et de taille non nulle (EX-LVL-004, EX-LVL-007). | |
Tests unitaires du cadrage de caméra porté par le niveau : modes, règle de repli et validation (EX-LVL-006, EX-REN-016, LOT-64).
| TEST | ( | CameraFramingTest | , |
| CadrageDeclareEstResoluTelQuel | ) |
Un cadrage déclaré est résolu tel quel, sans substitution.
Cas de test : Un cadrage déclaré est résolu tel quel.
Categorie : Unitaire · Camera Framing
Criticite : Critique
Etapes :
1. Résoudre un cadrage explicitement déclaré (Follow).
Resultat attendu : Le mode résolu est exactement celui déclaré, quelles que soient les dimensions.
| TEST | ( | CameraFramingTest | , |
| NomEtReconnaissanceSontSymetriques | ) |
Le nom JSON d'un mode et sa reconnaissance sont symétriques pour les trois modes.
Cas de test : Le nom JSON d'un mode et sa reconnaissance sont symétriques.
Categorie : Unitaire · Camera Framing
Criticite : Majeur
Etapes :
1. Pour chacun des trois modes, convertir en nom JSON puis reconnaître ce nom.
Resultat attendu : Le mode reconnu est identique au mode d'origine.
| TEST | ( | CameraFramingTest | , |
| NomInconnuNeProduitAucunMode | ) |
Un nom de mode non reconnu ne produit aucun mode.
Cas de test : Un nom de mode non reconnu ne produit aucun mode.
Categorie : Unitaire · Camera Framing
Criticite : Majeur
Etapes :
1. Reconnaître un nom de mode arbitraire, non défini.
Resultat attendu : parseCameraFramingMode renvoie std::nullopt.
| TEST | ( | CameraFramingTest | , |
| RegleDeRepliReproduitLaRegleHistoriqueAuxBornes | ) |
La règle de repli (EX-LVL-006) reproduit exactement la règle historique : niveau entier s'il tient dans une salle de taille par défaut (bornes incluses), par salle sinon.
Cas de test : La règle de repli reproduit la règle historique aux bornes.
Categorie : Unitaire · Camera Framing
Criticite : Critique
Etapes :
1. Résoudre l'absence de cadrage pour un niveau tenant exactement dans une salle par défaut.
2. Résoudre pour un niveau un cran plus large, puis un cran plus haut.
Resultat attendu : Le niveau qui tient exactement resout en niveau entier ; chaque dépassement d'un seul cran sur un axe resout en par salle, sans taille personnalisée.
| TEST | ( | CameraFramingTest | , |
| ValidationDesZonesNommeLeChampFautif | ) |
Les zones de caméra dessinées à la main sont valides uniquement en mode par salle, entièrement dans les bornes du niveau, et de taille non nulle (EX-LVL-004, EX-LVL-007).
Cas de test : La validation des zones de caméra nomme le champ fautif.
Categorie : Unitaire · Camera Framing
Criticite : Majeur
Etapes :
1. Valider une zone sur un mode qui n'est pas par salle.
2. Valider une zone de largeur nulle, une zone à position négative, une zone dépassant le niveau.
3. Valider un cadrage par salle avec des zones valides, y compris chevauchantes.
Resultat attendu : Chaque cas invalide échoue ; un cadrage cohérent, zones chevauchantes comprises, réussit.
| TEST | ( | CameraFramingTest | , |
| ValidationNommeLeChampFautif | ) |
La validation nomme le champ fautif : taille de vue nulle/négative, taille supérieure au niveau, paramètre étranger au mode retenu (EX-LVL-004).
roomWidthTiles/roomHeightTiles sont valides pour PerRoom et Follow (la taille de vue du suivi, EX-REN-017). Cas de test : La validation nomme le champ fautif pour chaque cas invalide.
Categorie : Unitaire · Camera Framing
Criticite : Majeur
Etapes :
1. Valider une taille de salle nulle, puis supérieure au niveau, puis un paramètre de taille de vue sur le mode niveau entier.
2. Valider une taille de vue sur le mode suivi.
Resultat attendu : Chaque cas invalide renvoie un message d'erreur non vide ; un cadrage cohérent (dont une taille de vue en mode suivi) ne renvoie aucune erreur.