|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests de l'aller-retour exploration ↔ combat (LOT-18, EX-CBT-001). More...
#include <filesystem>#include <string>#include <gtest/gtest.h>#include "Core/Combat/CombatTransition.h"#include "Core/Combat/Encounter.h"#include "Core/Gameplay/WorldFlags.h"Functions | |
| TEST (EncounterTest, UnAllerRetourRestitueLEtatDExploration) | |
| Un aller-retour restitue exactement l'état d'exploration. | |
| TEST (EncounterTest, UnEnnemiVaincuNeReapparaitPas) | |
| Un ennemi vaincu ne réapparaît pas : la victoire acquiert un drapeau de monde. | |
| TEST (EncounterTest, UneFuiteNeMarquePasLEnnemiVaincu) | |
| Une fuite ramène à l'exploration sans marquer l'ennemi vaincu. | |
| TEST (EncounterTest, UneRencontreSansCleSeRedeclenche) | |
| Une rencontre sans clé se redéclenche : c'est le cas d'une zone de rencontre. | |
| TEST (EncounterTest, LesCombattantsSePlacentRelativementAuDeclencheur) | |
| Les combattants se placent relativement au déclencheur. | |
| TEST (EncounterTest, UneRencontreNonFuyableLeDeclare) | |
| Une rencontre non fuyable le déclare, et l'engagement le retient. | |
| TEST (EncounterTest, LeCatalogueLivreSeCharge) | |
| Le catalogue LIVRÉ se charge, et chaque rencontre porte au moins un combattant. | |
| TEST (EncounterTest, UnInstantaneNonReleveSeDistingueDeLOrigine) | |
| Un instantané non relevé se distingue d'un instantané à l'origine. | |
| TEST (EncounterTest, UnEnnemiPosePorteUneCleUneZoneNonN) | |
| Un ennemi posé sur la carte porte une clé de drapeau ; une zone n'en porte pas. | |
| TEST (EncounterTest, DeuxDeclencheursNePartagentJamaisLeurCle) | |
| Deux ennemis d'une même carte, et le même ennemi sur deux cartes, ne partagent jamais leur clé. | |
| TEST (EncounterTest, CeQuiNEstPasUnDeclencheurNEnDevientPasUn) | |
| Ce qui n'est pas un déclencheur n'en devient pas un. | |
Tests de l'aller-retour exploration ↔ combat (LOT-18, EX-CBT-001).
Aucune fenêtre, aucun GPU : c'est un critère d'acceptation du lot, et c'est ce qui permet de vérifier qu'un aller-retour restitue l'état sans avoir à le regarder à l'écran. Le montage et le démontage d'une rencontre sont de la logique pure ; le mode de jeu, lui, ne fait qu'ordonner des passes.
| TEST | ( | EncounterTest | , |
| CeQuiNEstPasUnDeclencheurNEnDevientPasUn | ) |
Ce qui n'est pas un déclencheur n'en devient pas un.
Cas de test : Ce qui n'est pas un declencheur n'en devient pas un.
cat Unitaire · Combat
crit Majeur
etapes 1. Lire une entite d'un autre type.
2. Lire une entite de rencontre sans encounterId.
attendu Aucun declencheur dans les deux cas.
| TEST | ( | EncounterTest | , |
| DeuxDeclencheursNePartagentJamaisLeurCle | ) |
Deux ennemis d'une même carte, et le même ennemi sur deux cartes, ne partagent jamais leur clé.
Cas de test : Deux declencheurs ne partagent jamais leur cle.
cat Unitaire · Combat
crit Critique
etapes 1. Lire deux entites de rencontre a des cases differentes de la meme carte.
| TEST | ( | EncounterTest | , |
| LeCatalogueLivreSeCharge | ) |
Le catalogue LIVRÉ se charge, et chaque rencontre porte au moins un combattant.
Cas de test : Le catalogue de rencontres livre se charge.
Categorie : Unitaire · Combat
Criticite : Majeur
Etapes :
1. Charger Source/Elements/Rpg/encounters.
Resultat attendu : Le catalogue est non vide, sans erreur, et chaque rencontre porte un identifiant et au moins un combattant.
| TEST | ( | EncounterTest | , |
| LesCombattantsSePlacentRelativementAuDeclencheur | ) |
Les combattants se placent relativement au déclencheur.
Cas de test : Les combattants se placent relativement au declencheur.
Categorie : Unitaire · Combat
Criticite : Critique
Etapes :
1. Placer la meme rencontre a deux endroits differents.
Resultat attendu : La formation est conservee, decalee de l'ecart entre les deux declencheurs.
| TEST | ( | EncounterTest | , |
| UnAllerRetourRestitueLEtatDExploration | ) |
Un aller-retour restitue exactement l'état d'exploration.
Cas de test : Un aller-retour exploration -> combat -> exploration restitue l'etat.
Categorie : Unitaire · Combat
Criticite : Critique
Etapes :
1. Relever un etat d'exploration.
2. Engager une rencontre.
3. La terminer par une victoire.
Resultat attendu : Position, orientation et camera sont rendues a l'identique.
| TEST | ( | EncounterTest | , |
| UneFuiteNeMarquePasLEnnemiVaincu | ) |
Une fuite ramène à l'exploration sans marquer l'ennemi vaincu.
Cas de test : Une fuite ne marque pas l'ennemi vaincu.
Categorie : Unitaire · Combat
Criticite : Critique
Etapes :
1. Engager une rencontre portant une cle de drapeau.
2. La terminer par une fuite, puis par une defaite.
Resultat attendu : Le drapeau n'est acquis dans aucun des deux cas, et l'etat est tout de meme restitue.
| TEST | ( | EncounterTest | , |
| UnEnnemiPosePorteUneCleUneZoneNonN | ) |
Un ennemi posé sur la carte porte une clé de drapeau ; une zone n'en porte pas.
Cas de test : Un ennemi pose porte une cle, une zone n'en porte pas.
cat Unitaire · Combat
crit Critique
etapes 1. Lire une entite de rencontre posee.
2. Lire la meme avec respawns.
attendu La premiere porte une cle fabriquee, la seconde aucune.
| TEST | ( | EncounterTest | , |
| UnEnnemiVaincuNeReapparaitPas | ) |
Un ennemi vaincu ne réapparaît pas : la victoire acquiert un drapeau de monde.
Cas de test : Un ennemi vaincu ne reapparait pas.
Categorie : Unitaire · Combat
Criticite : Critique
Etapes :
1. Gagner une rencontre portant une cle de drapeau.
2. Interroger les drapeaux.
Resultat attendu : Le drapeau est acquis, et la rencontre se declare deja nettoyee.
| TEST | ( | EncounterTest | , |
| UneRencontreNonFuyableLeDeclare | ) |
Une rencontre non fuyable le déclare, et l'engagement le retient.
Cas de test : Une rencontre non fuyable le declare.
Categorie : Unitaire · Combat
Criticite : Majeur
Etapes :
1. Engager une rencontre declaree non fuyable.
Resultat attendu : L'engagement porte l'interdiction de fuir.
| TEST | ( | EncounterTest | , |
| UneRencontreSansCleSeRedeclenche | ) |
Une rencontre sans clé se redéclenche : c'est le cas d'une zone de rencontre.
Cas de test : Une rencontre sans cle de drapeau se redeclenche.
Categorie : Unitaire · Combat
Criticite : Majeur
Etapes :
1. Gagner une rencontre sans cle de drapeau.
Resultat attendu : Aucun drapeau n'est pose, et la rencontre ne se declare pas nettoyee.
| TEST | ( | EncounterTest | , |
| UnInstantaneNonReleveSeDistingueDeLOrigine | ) |
Un instantané non relevé se distingue d'un instantané à l'origine.
Cas de test : Un instantane non releve se distingue de l'origine.
Categorie : Unitaire · Combat
Criticite : Majeur
Etapes :
1. Construire un instantane par defaut.
Resultat attendu : Il se declare non releve, ce qui interdit de le restituer.