|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires du plan pictural : modèle, format et brouillon annulable (LOT-69 TACHE-03, EX-DEC-040 à EX-DEC-044, EX-LVL-009). More...
#include <cmath>#include <limits>#include <string>#include <gtest/gtest.h>#include <nlohmann/json.hpp>#include "Core/Levels/Level.h"#include "Core/Levels/LevelDraft.h"#include "Core/Levels/LevelLoader.h"#include "Core/Levels/LevelWriter.h"#include "Core/Levels/Plane.h"Functions | |
| TEST (PlaneTest, ValeursParDefaut) | |
| Un plan par défaut est natif, solidaire du niveau, opaque et en arrière-plan. | |
| TEST (PlaneTest, DensitesValides) | |
| Seules les densités 4, 8 et 16 sont acceptées. | |
| TEST (PlaneTest, AddPlaneAjouteEnFinDeListe) | |
| addPlane ajoute en fin de liste ; l'ordre d'ajout est l'ordre de superposition. | |
| TEST (PlaneTest, RemovePlaneRetireAuRangDonne) | |
| removePlane retire au rang donné et reste sans effet hors bornes. | |
| TEST (PlaneTest, ChaqueMutateurEstAnnulableEtRefaisable) | |
| Chaque mutateur de plan est annulable et refaisable en un seul pas. | |
| TEST (PlaneTest, MutateurRefuseNEmpileRien) | |
| Un mutateur refusé ne modifie rien et n'empile aucun pas d'annulation. | |
| TEST (PlaneTest, ReordonnancementDesPlans) | |
| Le réordonnancement déplace le plan et renvoie son nouveau rang. | |
| TEST (PlaneTest, ChargementDesPlans) | |
| Les plans sont lus dans l'ordre déclaré, avec leurs valeurs par défaut. | |
| TEST (PlaneTest, ChampObsoleteDecorsIgnoreEtNonReecrit) | |
| Le champ obsolète decors est ignoré, jamais rejeté : un niveau personnel écrit avant le LOT-69 reste lisible (EX-LVL-005), et un simple charger-puis-enregistrer le migre. | |
| TEST (PlaneTest, NiveauSansPlanNEcritPasLeChamp) | |
| Un niveau sans plan reste valide et n'écrit pas le champ "planes". | |
| TEST (PlaneTest, RoundTripDesPlans) | |
| Le round-trip préserve les plans et omet tout champ à sa valeur par défaut. | |
| TEST (PlaneTest, DrapeauDeParallaxeDesactive) | |
| Le drapeau de parallaxe n'est écrit que lorsqu'il est désactivé. | |
| TEST (PlaneTest, DensiteInvalideRejetee) | |
| Une densité de plan invalide fait échouer le chargement. | |
| TEST (PlaneTest, TropDePlansRejete) | |
| Le nombre de plans est plafonné au chargement (garde-fou de coût). | |
| TEST (PlaneTest, PlanTropGrandRejete) | |
| Un plan dont la texture dépasserait la limite matérielle est refusé. | |
Tests unitaires du plan pictural : modèle, format et brouillon annulable (LOT-69 TACHE-03, EX-DEC-040 à EX-DEC-044, EX-LVL-009).
| TEST | ( | PlaneTest | , |
| AddPlaneAjouteEnFinDeListe | ) |
addPlane ajoute en fin de liste ; l'ordre d'ajout est l'ordre de superposition.
Cas de test : addPlane ajoute en fin de liste, préservant l'ordre.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : addPlane ajoute en fin de liste ; l'ordre d'ajout est l'ordre de superposition.
| TEST | ( | PlaneTest | , |
| ChampObsoleteDecorsIgnoreEtNonReecrit | ) |
Le champ obsolète decors est ignoré, jamais rejeté : un niveau personnel écrit avant le LOT-69 reste lisible (EX-LVL-005), et un simple charger-puis-enregistrer le migre.
Cas de test : Le champ obsolete decors est ignore, et disparait a la reecriture.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Charger un niveau portant encore le champ racine decors.
2. Reecrire le niveau charge.
Resultat attendu : Le chargement reussit, planes() est vide, et le JSON reecrit ne contient plus decors.
| TEST | ( | PlaneTest | , |
| ChaqueMutateurEstAnnulableEtRefaisable | ) |
Chaque mutateur de plan est annulable et refaisable en un seul pas.
Cas de test : Chaque mutateur de plan est annulable et refaisable en un pas.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Chaque mutateur de plan est annulable et refaisable en un seul pas.
| TEST | ( | PlaneTest | , |
| ChargementDesPlans | ) |
Les plans sont lus dans l'ordre déclaré, avec leurs valeurs par défaut.
Cas de test : Les plans sont lus dans l'ordre déclaré, avec leurs défauts.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Les plans sont lus dans l'ordre déclaré, avec leurs valeurs par défaut.
| TEST | ( | PlaneTest | , |
| DensiteInvalideRejetee | ) |
Une densité de plan invalide fait échouer le chargement.
Cas de test : Une densité de plan invalide fait échouer le chargement.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Une densité de plan invalide fait échouer le chargement.
| TEST | ( | PlaneTest | , |
| DensitesValides | ) |
Seules les densités 4, 8 et 16 sont acceptées.
Cas de test : Seules les densités 4, 8 et 16 sont acceptées.
Categorie : Unitaire · Plan
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Seules les densités 4, 8 et 16 sont acceptées.
| TEST | ( | PlaneTest | , |
| DrapeauDeParallaxeDesactive | ) |
Le drapeau de parallaxe n'est écrit que lorsqu'il est désactivé.
Cas de test : Le drapeau de parallaxe n'est écrit que désactivé.
Categorie : Unitaire · Plan
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Le drapeau de parallaxe n'est écrit que lorsqu'il est désactivé.
| TEST | ( | PlaneTest | , |
| MutateurRefuseNEmpileRien | ) |
Un mutateur refusé ne modifie rien et n'empile aucun pas d'annulation.
Cas de test : Un mutateur refusé n'empile aucun pas d'annulation.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un mutateur refusé ne modifie rien et n'empile aucun pas d'annulation.
| TEST | ( | PlaneTest | , |
| NiveauSansPlanNEcritPasLeChamp | ) |
Un niveau sans plan reste valide et n'écrit pas le champ "planes".
Cas de test : Un niveau sans plan n'écrit pas le champ planes.
Categorie : Unitaire · Plan
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un niveau sans plan reste valide et n'écrit pas le champ "planes".
| TEST | ( | PlaneTest | , |
| PlanTropGrandRejete | ) |
Un plan dont la texture dépasserait la limite matérielle est refusé.
Cas de test : Un plan dépassant la limite de texture est refusé.
Categorie : Unitaire · Plan
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un plan dont la texture dépasserait la limite matérielle est refusé.
| TEST | ( | PlaneTest | , |
| RemovePlaneRetireAuRangDonne | ) |
removePlane retire au rang donné et reste sans effet hors bornes.
Cas de test : removePlane retire au rang donné, sans effet hors bornes.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : removePlane retire au rang donné et reste sans effet hors bornes.
| TEST | ( | PlaneTest | , |
| ReordonnancementDesPlans | ) |
Le réordonnancement déplace le plan et renvoie son nouveau rang.
Cas de test : Le réordonnancement déplace le plan et renvoie son nouveau rang.
Categorie : Unitaire · Plan
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Le réordonnancement déplace le plan et renvoie son nouveau rang.
| TEST | ( | PlaneTest | , |
| RoundTripDesPlans | ) |
Le round-trip préserve les plans et omet tout champ à sa valeur par défaut.
Cas de test : Le round-trip préserve les plans et omet les défauts.
Categorie : Unitaire · Plan
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Le round-trip préserve les plans et omet tout champ à sa valeur par défaut.
| TEST | ( | PlaneTest | , |
| TropDePlansRejete | ) |
Le nombre de plans est plafonné au chargement (garde-fou de coût).
Cas de test : Le nombre de plans est plafonné au chargement.
Categorie : Unitaire · Plan
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Le nombre de plans est plafonné au chargement (garde-fou de coût).
| TEST | ( | PlaneTest | , |
| ValeursParDefaut | ) |
Un plan par défaut est natif, solidaire du niveau, opaque et en arrière-plan.
Cas de test : Un plan par défaut est natif, solidaire, opaque et derrière.
Categorie : Unitaire · Plan
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un plan par défaut est natif, solidaire du niveau, opaque et en arrière-plan.