|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la police bitmap (LOT-52 TACHE-01) : mesure pure, lecture des métriques JSON, repli procédural déterministe. More...
#include <cstdint>#include <ios>#include <string>#include <gtest/gtest.h>#include "HMI/Graphics/ProceduralFont.h"Functions | |
| TEST (BitmapFontTest, MesureChaineVideLargeurNulle) | |
| La mesure d'une chaîne vide donne une largeur nulle et une hauteur d'une ligne. | |
| TEST (BitmapFontTest, MesureUnCaractere) | |
| La mesure d'un seul caractère donne exactement son avance. | |
| TEST (BitmapFontTest, MesureChaineAccentueeParPointsDeCode) | |
| Une chaîne accentuée est mesurée par POINTS DE CODE, pas par octets UTF-8. | |
| TEST (BitmapFontTest, CaractereAbsentEstSubstitue) | |
| Un caractère absent de la police est substitué par le glyphe de remplacement, jamais un trou silencieux ni un plantage. | |
| TEST (BitmapFontTest, MetriquesJsonValideEstLue) | |
| Un fichier de métriques JSON valide se lit correctement (champs et glyphes). | |
| TEST (BitmapFontTest, JsonInvalideEstUneErreurExploitable) | |
| Un JSON de métriques malformé est une erreur exploitable, jamais une exception. | |
| TEST (BitmapFontTest, VersionInconnueEstRefusee) | |
| Une version de format supérieure à celle gérée est refusée. | |
| TEST (BitmapFontTest, FichierMetriquesAbsentEstFileNotFound) | |
| Un fichier de métriques absent est un échec FileNotFound, sans exception. | |
| TEST (BitmapFontTest, MetriquesCoherentesAvecLePngValidees) | |
| Des métriques cohérentes avec les dimensions du PNG sont validées. | |
| TEST (BitmapFontTest, MetriquesIncoherentesAvecLePngRefusees) | |
| Des métriques dont un glyphe déborde des dimensions du PNG sont refusées. | |
| TEST (BitmapFontTest, ReplitProceduralCouvreAsciiEtAccentsDeFaconDeterministe) | |
| Le repli procédural couvre l'ASCII imprimable et les accents français, et est déterministe (deux appels produisent des pixels et métriques identiques). | |
| TEST (BitmapFontTest, ReplitProceduralEstAutoCoherent) | |
| Chaque glyphe généré procéduralement désigne une région entièrement contenue dans l'image générée (repli utilisable tel quel, sans plantage au rendu). | |
Tests unitaires de la police bitmap (LOT-52 TACHE-01) : mesure pure, lecture des métriques JSON, repli procédural déterministe.
Sans GPU ni Qt.
| TEST | ( | BitmapFontTest | , |
| CaractereAbsentEstSubstitue | ) |
Un caractère absent de la police est substitué par le glyphe de remplacement, jamais un trou silencieux ni un plantage.
Cas de test : Un caractère absent de la police est substitué par le glyphe de remplacement.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Le caractère absent est substitué par le glyphe de remplacement.
| TEST | ( | BitmapFontTest | , |
| FichierMetriquesAbsentEstFileNotFound | ) |
Un fichier de métriques absent est un échec FileNotFound, sans exception.
Cas de test : Un fichier de métriques absent est un échec FileNotFound, sans exception.
Categorie : Unitaire · Police bitmap
Criticite : Mineur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La lecture échoue avec le code FileNotFound.
| TEST | ( | BitmapFontTest | , |
| JsonInvalideEstUneErreurExploitable | ) |
Un JSON de métriques malformé est une erreur exploitable, jamais une exception.
Cas de test : Un JSON de métriques malformé est une erreur exploitable, jamais une exception.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La lecture échoue avec un message d'erreur exploitable, sans exception.
| TEST | ( | BitmapFontTest | , |
| MesureChaineAccentueeParPointsDeCode | ) |
Une chaîne accentuée est mesurée par POINTS DE CODE, pas par octets UTF-8.
Cas de test : Une chaîne accentuée est mesurée par points de code, pas par octets UTF-8.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La largeur mesurée correspond au nombre de points de code, pas au nombre d'octets.
| TEST | ( | BitmapFontTest | , |
| MesureChaineVideLargeurNulle | ) |
La mesure d'une chaîne vide donne une largeur nulle et une hauteur d'une ligne.
Cas de test : La mesure d'une chaîne vide donne une largeur nulle et une hauteur d'une ligne.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La mesure d'une chaîne vide donne une largeur nulle et une hauteur d'une ligne.
| TEST | ( | BitmapFontTest | , |
| MesureUnCaractere | ) |
La mesure d'un seul caractère donne exactement son avance.
Cas de test : La mesure d'un seul caractère donne exactement son avance.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La mesure d'un seul caractère donne exactement son avance.
| TEST | ( | BitmapFontTest | , |
| MetriquesCoherentesAvecLePngValidees | ) |
Des métriques cohérentes avec les dimensions du PNG sont validées.
Cas de test : Des métriques cohérentes avec les dimensions du PNG sont validées.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La validation réussit (aucun message d'erreur).
| TEST | ( | BitmapFontTest | , |
| MetriquesIncoherentesAvecLePngRefusees | ) |
Des métriques dont un glyphe déborde des dimensions du PNG sont refusées.
Cas de test : Des métriques dont un glyphe déborde des dimensions du PNG sont refusées.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La validation échoue avec un message nommant le fichier.
| TEST | ( | BitmapFontTest | , |
| MetriquesJsonValideEstLue | ) |
Un fichier de métriques JSON valide se lit correctement (champs et glyphes).
Cas de test : Un fichier de métriques JSON valide se lit correctement (champs et glyphes).
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Les métriques et les glyphes déclarés sont lus fidèlement.
| TEST | ( | BitmapFontTest | , |
| ReplitProceduralCouvreAsciiEtAccentsDeFaconDeterministe | ) |
Le repli procédural couvre l'ASCII imprimable et les accents français, et est déterministe (deux appels produisent des pixels et métriques identiques).
Cas de test : Le repli procédural couvre l'ASCII imprimable et les accents français, de façon déterministe.
Categorie : Unitaire · Police bitmap
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Tous les caractères ASCII imprimables et accentués (é è à ç ù ê î ô û) sont couverts ; deux générations produisent le même résultat.
| TEST | ( | BitmapFontTest | , |
| ReplitProceduralEstAutoCoherent | ) |
Chaque glyphe généré procéduralement désigne une région entièrement contenue dans l'image générée (repli utilisable tel quel, sans plantage au rendu).
Cas de test : Chaque glyphe procédural désigne une région entièrement contenue dans l'image générée.
Categorie : Unitaire · Police bitmap
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Toutes les régions de glyphes sont contenues dans l'image, et les métriques sont cohérentes avec elle.
| TEST | ( | BitmapFontTest | , |
| VersionInconnueEstRefusee | ) |
Une version de format supérieure à celle gérée est refusée.
Cas de test : Une version de format supérieure à celle gérée est refusée.
Categorie : Unitaire · Police bitmap
Criticite : Mineur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : La lecture échoue avec le code UnsupportedVersion.