|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests des especes, historiques et classes provisoires (LOT-36). More...
#include <algorithm>#include <array>#include <filesystem>#include <fstream>#include <set>#include <string>#include <vector>#include <gtest/gtest.h>#include "Core/Rpg/CharacterOptions.h"#include "Core/Rpg/CharacterSheet.h"#include "Core/Rpg/RpgEnumNames.h"Functions | |
| TEST (CharacterOptionsTest, LesTroisCataloguesChargent) | |
| Les trois catalogues chargent sans une erreur. | |
| TEST (CharacterOptionsTest, LesEspecesConcordentAvecLesLivres) | |
| Sept especes concordent avec les valeurs recopiees des livres. | |
| TEST (CharacterOptionsTest, LAugmentationSAppliqueEtResteBornee) | |
| Une augmentation d'espece s'applique a une valeur de caracteristique. | |
| TEST (CharacterOptionsTest, LesClassesConcordentAvecLeLivre) | |
| Les quatre classes concordent avec la table du Player's Guide. | |
| TEST (CharacterOptionsTest, LaProgressionVientDeLaDonnee) | |
| La progression du niveau 1 au niveau 5 vient de la DONNEE, pas du C++. | |
| TEST (CharacterOptionsTest, LesMecanismesExigesSontAnnonces) | |
| Les mecanismes exiges par les donnees sont listes au chargement (EX-CNT-031). | |
| TEST (CharacterOptionsTest, LesClassesProvisoiresNeSontReferenceesParRien) | |
| Les quatre classes sont marquees provisoires, et rien de definitif ne les reference. | |
| TEST (CharacterOptionsTest, UnDossierAbsentEstSignale) | |
| Un dossier absent est signale, jamais confondu avec un catalogue vide. | |
| TEST (CharacterOptionsTest, LesHistoriquesCitentDesCompetencesQuiExistent) | |
| Chaque historique accorde des competences que le catalogue du LOT-43 connait. | |
Tests des especes, historiques et classes provisoires (LOT-36).
L'acceptation du lot tient en quatre phrases, et chacune a son cas ici : trois classes chargent et donnent les bons modificateurs ; la progression du niveau 1 au niveau 5 ne fait intervenir AUCUNE valeur codee en C++ ; tout mecanisme absent du moteur est liste au chargement ; les quatre classes provisoires portent leur marque et aucune donnee definitive ne les reference.
| TEST | ( | CharacterOptionsTest | , |
| LaProgressionVientDeLaDonnee | ) |
La progression du niveau 1 au niveau 5 vient de la DONNEE, pas du C++.
Cas de test : Le bonus de maitrise des niveaux 1 a 5 est lu dans la table livree.
Categorie : Unitaire · Options de personnage
Criticite : Critique
Etapes :
1. Lire le bonus de maitrise des niveaux 1 a 5 de chaque classe dans sa table.
| TEST | ( | CharacterOptionsTest | , |
| LAugmentationSAppliqueEtResteBornee | ) |
Une augmentation d'espece s'applique a une valeur de caracteristique.
Cas de test : L'augmentation d'une espece s'applique et reste bornee a 20.
Categorie : Unitaire · Options de personnage
Criticite : Majeur
Etapes :
1. Appliquer l'augmentation du nain a une Constitution de 14, puis de 19.
Resultat attendu : 16, puis 20 — le plafond n'est pas franchi.
| TEST | ( | CharacterOptionsTest | , |
| LesClassesConcordentAvecLeLivre | ) |
Les quatre classes concordent avec la table du Player's Guide.
Cas de test : Les classes simplifiees portent le de de vie et les sauvegardes du livre.
Categorie : Unitaire · Options de personnage
Criticite : Critique
Etapes :
1. Pour les quatre classes, comparer de de vie, caracteristique principale et jets de sauvegarde a la table << New Simplified Classes >> de la page 57.
Resultat attendu : Les trois valeurs coincident, et chaque classe porte exactement deux sauvegardes.
| TEST | ( | CharacterOptionsTest | , |
| LesClassesProvisoiresNeSontReferenceesParRien | ) |
Les quatre classes sont marquees provisoires, et rien de definitif ne les reference.
Cas de test : Les classes provisoires portent leur marque et ne sont referencees par aucune donnee definitive.
Categorie : Unitaire · Options de personnage
Criticite : Critique
Etapes :
1. Verifier que les quatre classes portent status.provisoire et un critere de retrait.
| TEST | ( | CharacterOptionsTest | , |
| LesEspecesConcordentAvecLesLivres | ) |
Sept especes concordent avec les valeurs recopiees des livres.
Cas de test : Les especes livrees portent les valeurs des livres dont elles sont tirees.
Categorie : Unitaire · Options de personnage
Criticite : Critique
Etapes :
1. Pour sept especes des trois livres, comparer provenance, taille, vitesse et augmentation de caracteristique aux valeurs lues sur les documents.
Resultat attendu : Les quatre valeurs coincident pour chacune.
| TEST | ( | CharacterOptionsTest | , |
| LesHistoriquesCitentDesCompetencesQuiExistent | ) |
Chaque historique accorde des competences que le catalogue du LOT-43 connait.
Cas de test : Les competences citees par un historique existent au catalogue.
Categorie : Unitaire · Options de personnage
Criticite : Majeur
Etapes :
1. Pour chaque historique, verifier que le fichier de chaque competence citee existe dans Source/Elements/Rpg/skills/.
Resultat attendu : Toutes existent : une competence inventee ferait refuser une maitrise sans que rien ne dise pourquoi.
| TEST | ( | CharacterOptionsTest | , |
| LesMecanismesExigesSontAnnonces | ) |
Les mecanismes exiges par les donnees sont listes au chargement (EX-CNT-031).
Cas de test : Une espece qui exige un mecanisme absent le declare au chargement.
Categorie : Unitaire · Options de personnage
Criticite : Majeur
Etapes :
1. Collecter les mecanismesRequis des especes chargees.
Resultat attendu : L'augmentation de caracteristique au choix du joueur y figure : les especes de Tanares la laissent au joueur, et la table du schema ne sait pas la porter.
| TEST | ( | CharacterOptionsTest | , |
| LesTroisCataloguesChargent | ) |
Les trois catalogues chargent sans une erreur.
Cas de test : Les especes, historiques et classes livres se chargent tous.
Categorie : Unitaire · Options de personnage
Criticite : Critique
Etapes :
1. Charger species/, backgrounds/ et classes/.
Resultat attendu : Aucune erreur ; chaque entree a un identifiant unique, un nom et une provenance.
| TEST | ( | CharacterOptionsTest | , |
| UnDossierAbsentEstSignale | ) |
Un dossier absent est signale, jamais confondu avec un catalogue vide.
Cas de test : Charger un dossier d'options inexistant produit une erreur nommee.
Categorie : Unitaire · Options de personnage
Criticite : Majeur
Etapes :
1. Charger trois chemins qui n'existent pas.
Resultat attendu : Trois erreurs nommant les chemins, aucune entree, aucune exception.