|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la palette de projet, de l'extraction et de la contrainte de couleur (LOT-54 TACHE-07, EX-REN-042). More...
#include <cstdint>#include <filesystem>#include <fstream>#include <string>#include <gtest/gtest.h>#include "HMI/Editor/PixelPalette.h"Functions | |
| TEST_F (PixelPaletteFile, AllerRetourJsonRestitueLeContenu) | |
| Écrire puis relire une palette restitue les mêmes couleurs, les mêmes noms et le même ordre, alpha compris. | |
| TEST_F (PixelPaletteFile, FichierAbsentProduitUnePaletteVide) | |
| Un fichier absent produit une palette vide, sans exception : un état de départ légitime, pas une erreur. | |
| TEST_F (PixelPaletteFile, FichierMalformeProduitUnePaletteVide) | |
| Un fichier JSON malformé produit une palette vide, sans exception. | |
| TEST (PixelPaletteTest, DeuxExtractionsProduisentLaMemeListe) | |
| Deux extractions du même asset produisent la même liste, dans le même ordre, avec des occurrences exactes. | |
| TEST (PixelPaletteTest, ImageEntierementTransparenteProduitUneExtractionVide) | |
| Une image entièrement transparente produit une liste d'extraction vide. | |
| TEST (PixelPaletteTest, CouleurDejaPresenteRenvoyeeTelleQuelle) | |
| Une couleur déjà présente dans la palette est renvoyée telle quelle. | |
| TEST (PixelPaletteTest, DepartageADistanceEgaleEstStable) | |
| À distance égale entre deux couleurs de la palette, le départage retient la première rencontrée : déterministe et stable. | |
| TEST (PixelPaletteTest, PaletteVideLaisseLaCouleurInchangee) | |
| Une palette vide laisse la couleur inchangée plutôt que de produire une couleur indéfinie. | |
| TEST (PixelPaletteTest, ContraintePreserveToujoursLAlpha) | |
| La contrainte ne transforme jamais un pixel transparent en pixel opaque : l'alpha d'origine est toujours préservé. | |
Tests unitaires de la palette de projet, de l'extraction et de la contrainte de couleur (LOT-54 TACHE-07, EX-REN-042).
| TEST | ( | PixelPaletteTest | , |
| ContraintePreserveToujoursLAlpha | ) |
La contrainte ne transforme jamais un pixel transparent en pixel opaque : l'alpha d'origine est toujours préservé.
Cas de test : La contrainte preserve toujours l'alpha d'origine.
Categorie : Unitaire · Palette pixel art
Criticite : Critique
Etapes :
1. Contraindre un pixel totalement transparent.
2. Contraindre un pixel semi-transparent.
Resultat attendu : Le premier resultat est inchange (alpha nul preserve) ; le second conserve son alpha d'origine tout en adoptant la teinte RVB la plus proche.
| TEST | ( | PixelPaletteTest | , |
| CouleurDejaPresenteRenvoyeeTelleQuelle | ) |
Une couleur déjà présente dans la palette est renvoyée telle quelle.
Cas de test : Une couleur deja presente est renvoyee telle quelle.
Categorie : Unitaire · Palette pixel art
Criticite : Critique
Etapes :
1. Contraindre une couleur presente dans la palette.
Resultat attendu : Le resultat est strictement egal a la couleur d'origine.
| TEST | ( | PixelPaletteTest | , |
| DepartageADistanceEgaleEstStable | ) |
À distance égale entre deux couleurs de la palette, le départage retient la première rencontrée : déterministe et stable.
Cas de test : Le departage a distance egale est stable.
Categorie : Unitaire · Palette pixel art
Criticite : Critique
Etapes :
1. Construire une palette avec deux couleurs equidistantes d'une couleur cible.
| TEST | ( | PixelPaletteTest | , |
| DeuxExtractionsProduisentLaMemeListe | ) |
Deux extractions du même asset produisent la même liste, dans le même ordre, avec des occurrences exactes.
Cas de test : Deux extractions du meme asset produisent la meme liste.
Categorie : Unitaire · Palette pixel art
Criticite : Critique
Etapes :
1. Construire une image avec des couleurs repetees.
2. L'extraire deux fois.
Resultat attendu : Les deux extractions sont identiques ; les occurrences comptees sont exactes.
| TEST | ( | PixelPaletteTest | , |
| ImageEntierementTransparenteProduitUneExtractionVide | ) |
Une image entièrement transparente produit une liste d'extraction vide.
Cas de test : Une image entierement transparente produit une extraction vide.
Categorie : Unitaire · Palette pixel art
Criticite : Majeur
Etapes :
1. Construire une image entierement transparente.
2. L'extraire.
Resultat attendu : La liste extraite est vide.
| TEST | ( | PixelPaletteTest | , |
| PaletteVideLaisseLaCouleurInchangee | ) |
Une palette vide laisse la couleur inchangée plutôt que de produire une couleur indéfinie.
Cas de test : Une palette vide laisse la couleur inchangee.
Categorie : Unitaire · Palette pixel art
Criticite : Majeur
Etapes :
1. Contraindre une couleur avec une palette vide.
Resultat attendu : Le resultat est strictement egal a la couleur d'origine.
| TEST_F | ( | PixelPaletteFile | , |
| AllerRetourJsonRestitueLeContenu | ) |
Écrire puis relire une palette restitue les mêmes couleurs, les mêmes noms et le même ordre, alpha compris.
Cas de test : Ecrire puis relire une palette restitue le meme contenu, alpha compris.
Categorie : Unitaire · Palette pixel art
Criticite : Critique
Etapes :
1. Construire une palette de trois entrees, dont une avec alpha partiel.
| TEST_F | ( | PixelPaletteFile | , |
| FichierAbsentProduitUnePaletteVide | ) |
Un fichier absent produit une palette vide, sans exception : un état de départ légitime, pas une erreur.
Cas de test : Un fichier absent produit une palette vide sans exception.
Categorie : Unitaire · Palette pixel art
Criticite : Critique
Etapes :
1. Charger un chemin qui n'existe pas.
Resultat attendu : Aucune exception ; la palette renvoyee est vide.
| TEST_F | ( | PixelPaletteFile | , |
| FichierMalformeProduitUnePaletteVide | ) |
Un fichier JSON malformé produit une palette vide, sans exception.
Cas de test : Un fichier malforme produit une palette vide sans exception.
Categorie : Unitaire · Palette pixel art
Criticite : Critique
Etapes :
1. Ecrire un contenu JSON invalide au chemin de test.
2. Le charger.
Resultat attendu : Aucune exception ; la palette renvoyee est vide.