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

Tests unitaires des valeurs affichées par l'écran de fiche (LOT-38). More...

#include <algorithm>
#include <filesystem>
#include <fstream>
#include <set>
#include <sstream>
#include <gtest/gtest.h>
#include "HMI/Presentation/CharacterSheetValues.h"
#include "HMI/Presentation/RpgScreens.h"

Functions

 TEST (CharacterSheetValuesTest, LesModificateursSAffichentAvecLeurSigne)
 Un modificateur s'affiche avec son signe, et une valeur de caractéristique avec le sien entre parenthèses.
 TEST (CharacterSheetValuesTest, LeJetDeSauvegardeMaitriseComptteLaMaitrise)
 Un jet de sauvegarde maîtrisé porte le bonus de maîtrise ; les autres non.
 TEST (CharacterSheetValuesTest, LaCompetenceMaitriseeSeSignaleEtLaPerceptionPassiveEnDerive)
 Une compétence maîtrisée porte son bonus et se signale ; la Perception passive vaut 10 + le modificateur de Perception.
 TEST (CharacterSheetValuesTest, LesPointsDeVieSeLisentContreLeurMaximum)
 Les points de vie se lisent contre leur maximum, et la vitesse porte son unité.
 TEST (CharacterSheetValuesTest, SansFicheAucuneValeurNEstProduite)
 Sans fiche, la table est vide — et l'écran garde donc ses tirets.
 TEST (CharacterSheetValuesTest, ChaqueChampDeLaFicheEstAlimente)
 Tout champ de l'écran qui déclare une source est effectivement rempli par le présentateur.

Detailed Description

Tests unitaires des valeurs affichées par l'écran de fiche (LOT-38).

Logique pure, sans Qt ni fichier.

Function Documentation

◆ TEST() [1/6]

TEST ( CharacterSheetValuesTest ,
ChaqueChampDeLaFicheEstAlimente  )

Tout champ de l'écran qui déclare une source est effectivement rempli par le présentateur.

C'est le seul lien entre les deux côtés : l'ossature (hmi::rpgScreens) déclare ses valueId, le présentateur produit des valeurs sous ces mêmes identifiants, et rien d'autre ne les rapproche. Une faute de frappe d'un côté ne se verrait qu'à l'écran, sous la forme d'un champ resté au tiret cadratin au milieu de champs remplis — c'est-à-dire pas du tout. Cas de test : Chaque champ de la fiche declarant une source est rempli.
cat Unitaire · Fiche de personnage
crit Critique
etapes 1. Lire les identifiants de valeur declares par l'ossature de la fiche.
2. Produire les valeurs d'une fiche complete.
3. Verifier que chaque identifiant declare est produit.
attendu Aucun champ de la fiche ne reste sans source.

◆ TEST() [2/6]

TEST ( CharacterSheetValuesTest ,
LaCompetenceMaitriseeSeSignaleEtLaPerceptionPassiveEnDerive  )

Une compétence maîtrisée porte son bonus et se signale ; la Perception passive vaut 10 + le modificateur de Perception.

Cas de test : Une competence maitrisee se signale, et la Perception passive en derive.
Categorie : Unitaire · Fiche de personnage
Criticite : Majeur
Etapes :
1. Produire les valeurs d'une fiche maitrisant l'Athletisme.
2. Lire Athletisme, Discretion et la Perception passive.
Resultat attendu : Athletisme signale sa maitrise, Discretion non, et la Perception passive vaut 11.

◆ TEST() [3/6]

TEST ( CharacterSheetValuesTest ,
LeJetDeSauvegardeMaitriseComptteLaMaitrise  )

Un jet de sauvegarde maîtrisé porte le bonus de maîtrise ; les autres non.

Cas de test : Un jet de sauvegarde maitrise porte le bonus de maitrise.
Categorie : Unitaire · Fiche de personnage
Criticite : Critique
Etapes :
1. Produire les valeurs d'une fiche maitrisant la sauvegarde de Force.
2. Comparer les lignes de Force et de Dexterite.
Resultat attendu : Force = modificateur + maitrise, Dexterite = modificateur seul.

◆ TEST() [4/6]

TEST ( CharacterSheetValuesTest ,
LesModificateursSAffichentAvecLeurSigne  )

Un modificateur s'affiche avec son signe, et une valeur de caractéristique avec le sien entre parenthèses.

Le signe n'est pas une coquetterie : 3 nu se lit comme une valeur de caractéristique, et les deux se côtoient sur la même ligne de la feuille. Cas de test : Les modificateurs s'affichent signes, les caracteristiques avec leur modificateur.
Categorie : Unitaire · Fiche de personnage
Criticite : Majeur
Etapes :
1. Produire les valeurs d'une fiche de Force 16 et de Charisme 8.
2. Lire les deux lignes de caracteristique.
Resultat attendu : « 16 (+3) » et « 8 (-1) ».

◆ TEST() [5/6]

TEST ( CharacterSheetValuesTest ,
LesPointsDeVieSeLisentContreLeurMaximum  )

Les points de vie se lisent contre leur maximum, et la vitesse porte son unité.

Cas de test : Les points de vie se lisent contre leur maximum.
Categorie : Unitaire · Fiche de personnage
Criticite : Mineur
Etapes :
1. Produire les valeurs d'une fiche a 25 points de vie sur 30.
Resultat attendu : « 25 / 30 », et une vitesse en metres.

◆ TEST() [6/6]

TEST ( CharacterSheetValuesTest ,
SansFicheAucuneValeurNEstProduite  )

Sans fiche, la table est vide — et l'écran garde donc ses tirets.

Rendre des zéros serait pire qu'inutile : « 0 point de vie » se lit comme un personnage mort, là où la vérité est qu'il n'y a pas de personnage. Cas de test : Sans fiche, aucune valeur n'est produite.
Categorie : Unitaire · Fiche de personnage
Criticite : Majeur
Etapes :
1. Produire les valeurs d'un contexte sans fiche.
Resultat attendu : La table est vide.