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

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.

Detailed Description

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.

Function Documentation

◆ TEST() [1/11]

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() [2/11]

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.

  1. Lire la meme case sur deux cartes differentes.
    attendu Les cles different dans les deux cas.

◆ TEST() [3/11]

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() [4/11]

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() [5/11]

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() [6/11]

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() [7/11]

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() [8/11]

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() [9/11]

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() [10/11]

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() [11/11]

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.