|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de core::DeterministicRandom, splitMix64 et deriveSeed (LOT-53 TACHE-01, EX-NFR-002). More...
Functions | |
| TEST (DeterministicRandomTest, SplitMix64VecteursDeReference) | |
| splitMix64 rend, pour des entrées de référence, exactement les valeurs attendues du mélangeur SplitMix64. | |
| TEST (DeterministicRandomTest, DeriveSeedVecteursDeReference) | |
| deriveSeed rend des vecteurs de référence figés, et sépare les trois composantes du triplet : changer le pas ou l'identité produit une graine différente. | |
| TEST (DeterministicRandomTest, SuiteDeReferenceDepuisUneGraineFixee) | |
| La suite produite depuis une graine donnée est figée : cinq valeurs de référence. | |
| TEST (DeterministicRandomTest, MemeGraineMemeSuite) | |
| Deux instances de même graine produisent la même suite ; deux graines différentes divergent dès le premier tirage. | |
| TEST (DeterministicRandomTest, NextFloat01ExclutLaBorneHaute) | |
| nextFloat01 reste dans [0, 1[ sur un grand nombre de tirages, borne haute exclue. | |
| TEST (DeterministicRandomTest, NextRangeRespecteLesBornes) | |
| nextRange reste dans [min, max], et rend exactement min quand les deux bornes coïncident — cas d'une durée de vie ou d'une vitesse fixe, où aucun tirage ne discrimine. | |
Tests unitaires de core::DeterministicRandom, splitMix64 et deriveSeed (LOT-53 TACHE-01, EX-NFR-002).
Ce fichier fige des vecteurs de référence : les valeurs attendues y sont écrites en dur, calculées indépendamment de l'implémentation. C'est le seul moyen de détecter qu'une refonte a silencieusement changé la suite produite — auquel cas toutes les séquences de particules déjà observées changeraient sans qu'aucun autre test ne s'en aperçoive : elles resteraient reproductibles, simplement plus les mêmes.
| TEST | ( | DeterministicRandomTest | , |
| DeriveSeedVecteursDeReference | ) |
deriveSeed rend des vecteurs de référence figés, et sépare les trois composantes du triplet : changer le pas ou l'identité produit une graine différente.
Cas de test : deriveSeed : vecteurs de référence et séparation du triplet.
Categorie : Unitaire · Core Math
Criticite : Bloquant
Etapes :
1. deriveSeed sur (1,0,0), (1,0,1) et (1,1,0).
2. Comparer les trois entre eux.
Resultat attendu : Les trois valeurs figées, toutes distinctes : le pas et l'identifiant ne se confondent pas.
| TEST | ( | DeterministicRandomTest | , |
| MemeGraineMemeSuite | ) |
Deux instances de même graine produisent la même suite ; deux graines différentes divergent dès le premier tirage.
Cas de test : DeterministicRandom : même graine, même suite ; graines différentes, suites différentes.
Categorie : Unitaire · Core Math
Criticite : Bloquant
Etapes :
1. Deux instances de graine 7, 16 tirages chacune.
2. Une instance de graine 8, premier tirage.
Resultat attendu : Les deux premières suites coïncident terme à terme ; la troisième diverge dès le premier tirage.
| TEST | ( | DeterministicRandomTest | , |
| NextFloat01ExclutLaBorneHaute | ) |
nextFloat01 reste dans [0, 1[ sur un grand nombre de tirages, borne haute exclue.
Cas de test : nextFloat01 : borne haute exclue.
Categorie : Unitaire · Core Math
Criticite : Majeur
Etapes :
1. 10 000 tirages depuis une graine fixée.
Resultat attendu : Toutes les valeurs sont dans [0, 1[ ; 1.0f n'est jamais atteint.
| TEST | ( | DeterministicRandomTest | , |
| NextRangeRespecteLesBornes | ) |
nextRange reste dans [min, max], et rend exactement min quand les deux bornes coïncident — cas d'une durée de vie ou d'une vitesse fixe, où aucun tirage ne discrimine.
Cas de test : nextRange : bornes respectées, intervalle dégénéré rendu exactement.
Categorie : Unitaire · Core Math
Criticite : Majeur
Etapes :
1. 1 000 tirages dans [-2, 5].
2. Un tirage dans [3, 3].
Resultat attendu : Toutes les valeurs sont dans [-2, 5] ; l'intervalle dégénéré rend exactement 3.
| TEST | ( | DeterministicRandomTest | , |
| SplitMix64VecteursDeReference | ) |
splitMix64 rend, pour des entrées de référence, exactement les valeurs attendues du mélangeur SplitMix64.
Cas de test : splitMix64 : vecteurs de référence.
Categorie : Unitaire · Core Math
Criticite : Bloquant
Etapes :
1. splitMix64 sur 0, 1 et 0x0123456789ABCDEF.
Resultat attendu : Les trois valeurs figées du mélangeur de référence ; 0 est un point fixe du finaliseur.
| TEST | ( | DeterministicRandomTest | , |
| SuiteDeReferenceDepuisUneGraineFixee | ) |
La suite produite depuis une graine donnée est figée : cinq valeurs de référence.
Cas de test : DeterministicRandom : suite de référence depuis une graine fixée.
Categorie : Unitaire · Core Math
Criticite : Bloquant
Etapes :
1. DeterministicRandom(42).
2. Cinq appels à nextUInt32().
Resultat attendu : Exactement les cinq valeurs figées, dans l'ordre.