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

Tests des des, des caracteristiques et de l'echelle (LOT-12, EX-NFR-002). More...

#include <array>
#include <map>
#include <optional>
#include <string>
#include <vector>
#include <gtest/gtest.h>
#include "Core/Math/DeterministicRandom.h"
#include "Core/Rpg/Ability.h"
#include "Core/Rpg/Dice.h"
#include "Core/Rpg/Scale.h"

Functions

 TEST (DiceTest, AnalyseDesTroisFormes)
 La notation de des est analysee sous ses trois formes.
 TEST (DiceTest, UneNotationMalFormeeEstRefusee)
 Une notation mal formee est refusee, jamais devinee.
 TEST (DiceTest, UnLancerResteDansSesBornes)
 Un lancer reste dans ses bornes et conserve chaque de.
 TEST (DiceTest, RejouabiliteStricte)
 Meme graine, meme suite : la rejouabilite est stricte.
 TEST (DiceTest, DistributionUniformeSurCentMilleTirages)
 La distribution d'un d20 est uniforme sur cent mille tirages.
 TEST (DiceTest, BornesDuTirageEntier)
 nextInt respecte ses bornes, y compris degenerees.
 TEST (DiceTest, ModificateurArrondiVersLeBas)
 Le modificateur de caracteristique s'arrondit vers le bas.
 TEST (DiceTest, AllerRetourDesCaracteristiques)
 Les six caracteristiques font l'aller-retour par leur nom.
 TEST (DiceTest, EchelleDuMonde)
 L'echelle du monde convertit metres et cases dans les deux sens.

Detailed Description

Tests des des, des caracteristiques et de l'echelle (LOT-12, EX-NFR-002).

Function Documentation

◆ TEST() [1/9]

TEST ( DiceTest ,
AllerRetourDesCaracteristiques  )

Les six caracteristiques font l'aller-retour par leur nom.

Cas de test : Les six caracteristiques font l'aller-retour par leur nom sans perte.
Categorie : Unitaire · Caracteristiques
Criticite : Majeur
Etapes :
1. Convertir chaque caracteristique en nom, puis le nom en caracteristique.

  1. Analyser un nom francais.
    Resultat attendu : Les six sont retrouvees ; le nom francais est refuse.

◆ TEST() [2/9]

TEST ( DiceTest ,
AnalyseDesTroisFormes  )

La notation de des est analysee sous ses trois formes.

Cas de test : La notation de des est analysee sous ses trois formes.
Categorie : Unitaire · Des
Criticite : Critique
Etapes :
1. Analyser << 2d6+3 >>, << 1d8 >>, << 4 >> et << 1d4-1 >>.
Resultat attendu : Les quatre donnent le nombre de des, de faces et le modificateur attendus.

◆ TEST() [3/9]

TEST ( DiceTest ,
BornesDuTirageEntier  )

nextInt respecte ses bornes, y compris degenerees.

Cas de test : Le tirage entier respecte ses bornes, y compris quand elles sont egales.
Categorie : Unitaire · Des
Criticite : Majeur
Etapes :
1. Tirer dix mille fois dans [3, 3], puis dans [-5, 5].
Resultat attendu : Le premier rend toujours 3 ; le second reste dans ses bornes et les atteint toutes deux.

◆ TEST() [4/9]

TEST ( DiceTest ,
DistributionUniformeSurCentMilleTirages  )

La distribution d'un d20 est uniforme sur cent mille tirages.

Cas de test : La distribution d'un d20 est uniforme sur cent mille tirages a graine fixe.
Categorie : Unitaire · Des
Criticite : Majeur
Etapes :
1. Tirer cent mille d20 a graine fixe et compter chaque face.
Resultat attendu : Les vingt faces sortent, et chaque effectif s'ecarte de moins de 10 % de la moyenne attendue.

◆ TEST() [5/9]

TEST ( DiceTest ,
EchelleDuMonde  )

L'echelle du monde convertit metres et cases dans les deux sens.

Cas de test : L'echelle du monde convertit metres et cases dans les deux sens.
Categorie : Unitaire · Echelle
Criticite : Majeur
Etapes :
1. Convertir 9 metres en cases, puis 6 cases en metres.
Resultat attendu : 6 cases et 9 metres – une case vaut 1,5 m, et la conversion est reversible.

◆ TEST() [6/9]

TEST ( DiceTest ,
ModificateurArrondiVersLeBas  )

Le modificateur de caracteristique s'arrondit vers le bas.

Cas de test : Le modificateur de caracteristique s'arrondit vers le bas, y compris en negatif.
Categorie : Unitaire · Caracteristiques
Criticite : Critique
Etapes :
1. Calculer le modificateur pour 1, 7, 8, 9, 10, 11, 15 et 20.
Resultat attendu : -5, -2, -1, -1, 0, 0, +2, +5 – le cas de 7 distinguant l'arrondi vers le bas de la troncature vers zero.

◆ TEST() [7/9]

TEST ( DiceTest ,
RejouabiliteStricte  )

Meme graine, meme suite : la rejouabilite est stricte.

Cas de test : Deux generateurs de meme graine produisent exactement la meme suite de des.
Categorie : Unitaire · Des
Criticite : Critique
Etapes :
1. Lancer cent fois 3d8 avec deux generateurs de meme graine.

  1. Recommencer avec une graine differente.
    Resultat attendu : Les deux premieres suites sont identiques de en de ; la troisieme differe.

◆ TEST() [8/9]

TEST ( DiceTest ,
UneNotationMalFormeeEstRefusee  )

Une notation mal formee est refusee, jamais devinee.

Cas de test : Une notation de des mal formee est refusee au lieu d'etre devinee.
Categorie : Unitaire · Des
Criticite : Critique
Etapes :
1. Analyser << ld8 >> (faute d'OCR), une chaine vide, << 1d >>, << d6 >> et << 1d6+2x >>.
Resultat attendu : Les cinq sont refusees, sans exception.

◆ TEST() [9/9]

TEST ( DiceTest ,
UnLancerResteDansSesBornes  )

Un lancer reste dans ses bornes et conserve chaque de.

Cas de test : Un lancer de des reste dans ses bornes et conserve le detail de chaque de.
Categorie : Unitaire · Des
Criticite : Critique
Etapes :
1. Lancer 2d6+3 mille fois a graine fixe.
Resultat attendu : Chaque total est dans [5, 15], chaque de dans [1, 6], et deux des sont conserves.