|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la moyenne glissante de cadence et du choix de contenu du compteur de diagnostic (LOT-62 TACHE-02, EX-NFR-001, EX-NFR-005). More...
#include <filesystem>#include <gtest/gtest.h>#include "HMI/Game/DiagnosticsHud.h"#include "HMI/Localization/Localization.h"Functions | |
| TEST (FrameRateAverageTest, SansEchantillonLaCadenceVautZero) | |
| Sans aucun échantillon, la moyenne glissante vaut zéro : pas de division par zéro. | |
| TEST (FrameRateAverageTest, CadenceStableConvergeVersLInverseDeLaDureeDImage) | |
| Une cadence stable (durée d'image constante) converge vers l'inverse de cette durée. | |
| TEST (FrameRateAverageTest, MoyenneExacteSurUneSuiteDeDureesConnues) | |
| La moyenne glissante est exacte sur une courte suite de durées connues. | |
| TEST (FrameRateAverageTest, RafaleAncienneSortDeLaFenetre) | |
| Une rafale d'images lentes sortie de la fenêtre n'influence plus la cadence une fois que des images rapides et nombreuses l'ont remplacée. | |
| TEST (FrameRateAverageTest, ResetOublieTousLesEchantillons) | |
| reset() oublie tous les échantillons accumulés : la cadence retombe à zéro. | |
| TEST (FrameRateAverageTest, DureeNulleOuNegativeEstIgnoree) | |
| Une durée nulle ou négative est ignorée (robustesse) : elle ne fait pas dériver la cadence. | |
| TEST (DiagnosticsHudTest, MesuresConnuesProduisentLesQuatreLignesAttendues) | |
| Des valeurs mesurées produisent les quatre lignes attendues, dans l'ordre documenté. | |
| TEST (DiagnosticsHudTest, AucuneImageMesureeProduitDesLignesValides) | |
| Le cas limite « aucune image mesurée » (démarrage, avant la première image) produit des lignes valides, sans plantage. | |
| TEST (DiagnosticsHudTest, ClesDeTraductionExistentDansLesDeuxCatalogues) | |
| Chaque clé de traduction utilisée par le compteur de diagnostic existe, traduite, dans les deux catalogues livrés (français et anglais). | |
Tests unitaires de la moyenne glissante de cadence et du choix de contenu du compteur de diagnostic (LOT-62 TACHE-02, EX-NFR-001, EX-NFR-005).
Logique pure, sans GPU.
| TEST | ( | DiagnosticsHudTest | , |
| AucuneImageMesureeProduitDesLignesValides | ) |
Le cas limite « aucune image mesurée » (démarrage, avant la première image) produit des lignes valides, sans plantage.
Cas de test : Aucune image mesuree produit des lignes valides.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Majeur
Etapes :
1. Composer les lignes a partir de mesures toutes nulles (etat de depart).
Resultat attendu : Les quatre lignes sont produites, avec des valeurs nulles bien formees.
| TEST | ( | DiagnosticsHudTest | , |
| ClesDeTraductionExistentDansLesDeuxCatalogues | ) |
Chaque clé de traduction utilisée par le compteur de diagnostic existe, traduite, dans les deux catalogues livrés (français et anglais).
Cas de test : Les cles de traduction du compteur existent dans les deux catalogues livres.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Majeur
Etapes :
1. Charger fr.lang puis en.lang depuis les catalogues livres.
2. Resoudre les cles du compteur de diagnostic.
Resultat attendu : Les quatre cles resolvent vers un texte traduit, distinct de la cle elle-meme.
| TEST | ( | DiagnosticsHudTest | , |
| MesuresConnuesProduisentLesQuatreLignesAttendues | ) |
Des valeurs mesurées produisent les quatre lignes attendues, dans l'ordre documenté.
Cas de test : Des valeurs mesurees produisent les quatre lignes attendues.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Critique
Etapes :
1. Composer les lignes a partir de mesures connues.
Resultat attendu : Cadence, primitives, passes et pas de simulation apparaissent, dans cet ordre, avec les valeurs attendues.
| TEST | ( | FrameRateAverageTest | , |
| CadenceStableConvergeVersLInverseDeLaDureeDImage | ) |
Une cadence stable (durée d'image constante) converge vers l'inverse de cette durée.
Cas de test : Une cadence stable converge vers l'inverse de la duree d'image.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Critique
Etapes :
1. Ajouter de nombreux echantillons de 1/60 seconde.
2. Lire la cadence moyenne.
Resultat attendu : La cadence moyenne vaut environ 60 images par seconde.
| TEST | ( | FrameRateAverageTest | , |
| DureeNulleOuNegativeEstIgnoree | ) |
Une durée nulle ou négative est ignorée (robustesse) : elle ne fait pas dériver la cadence.
Cas de test : Une duree nulle ou negative est ignoree.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Mineur
Etapes :
1. Ajouter un echantillon negatif puis nul sur une moyenne neuve.
Resultat attendu : La cadence reste a 0 (aucun echantillon valide accepte).
| TEST | ( | FrameRateAverageTest | , |
| MoyenneExacteSurUneSuiteDeDureesConnues | ) |
La moyenne glissante est exacte sur une courte suite de durées connues.
Cas de test : La moyenne glissante est exacte sur une suite de durees connues.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Majeur
Etapes :
1. Ajouter trois echantillons de 0,1 seconde (0,3s < fenetre).
2. Lire la cadence.
Resultat attendu : La cadence vaut exactement 3 images / 0,3 seconde = 10 images par seconde.
| TEST | ( | FrameRateAverageTest | , |
| RafaleAncienneSortDeLaFenetre | ) |
Une rafale d'images lentes sortie de la fenêtre n'influence plus la cadence une fois que des images rapides et nombreuses l'ont remplacée.
Cas de test : Une rafale ancienne sort de la fenetre et n'influence plus la moyenne.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Majeur
Etapes :
1. Ajouter une image tres lente (1 seconde).
2. Ajouter ensuite de nombreuses images rapides (1/120 seconde) jusqu'a largement depasser la fenetre.
Resultat attendu : La cadence finale reflete les images rapides recentes, pas la rafale lente initiale.
| TEST | ( | FrameRateAverageTest | , |
| ResetOublieTousLesEchantillons | ) |
reset() oublie tous les échantillons accumulés : la cadence retombe à zéro.
Cas de test : reset oublie tous les echantillons accumules.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Majeur
Etapes :
1. Ajouter des echantillons.
2. Appeler reset.
3. Lire la cadence.
Resultat attendu : La cadence vaut de nouveau 0.
| TEST | ( | FrameRateAverageTest | , |
| SansEchantillonLaCadenceVautZero | ) |
Sans aucun échantillon, la moyenne glissante vaut zéro : pas de division par zéro.
Cas de test : Sans echantillon, la cadence moyenne vaut zero.
Categorie : Unitaire · Compteur de diagnostic
Criticite : Critique
Etapes :
1. Construire une moyenne glissante neuve.
2. Lire la cadence.
Resultat attendu : La cadence vaut 0, sans plantage.