|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires des repères du mode création : pelure d'oignon, aplatissement et rééchantillonnage (EX-EDIT-046, LOT-69 TACHE-07). More...
#include <cstdint>#include <cstdlib>#include <vector>#include <gtest/gtest.h>#include "Core/Levels/LevelDraft.h"#include "Core/Levels/TileType.h"#include "HMI/Editor/PlaneReference.h"Functions | |
| TEST (PlaneReferenceTest, ReechantillonnageSeizeVersHuitEstExact) | |
| Le rééchantillonnage 16 → 8 garde un pixel sur deux, sans jamais moyenner. | |
| TEST (PlaneReferenceTest, ReechantillonnageHuitVersSeizeDuplique) | |
| Le rééchantillonnage 8 → 16 duplique chaque pixel : aucun demi-ton n'apparaît. | |
| TEST (PlaneReferenceTest, RapportNonEntierRefuse) | |
| Un rapport de densités non entier est refusé plutôt qu'interpolé. | |
| TEST (PlaneReferenceTest, AlphaOverEstAssociatif) | |
| L'alpha-over est associatif : aplatir trois couches d'un coup donne le même résultat que deux fois deux — sans quoi l'ordre d'aplatissement changerait l'image. | |
| TEST (PlaneReferenceTest, AplatissementIgnoreUneCoucheMasquee) | |
| L'aplatissement ignore une couche masquée, exactement comme si elle n'existait pas. | |
| TEST (PlaneReferenceTest, AplatissementRameneChaqueCoucheALaDensiteCible) | |
| Une couche de densité plus faible est ramenée à la densité cible avant d'être composée : l'aplatissement n'exige pas que tous les plans partagent une densité. | |
| TEST (PlaneReferenceTest, PelureDOignonDeterministe) | |
| La pelure d'oignon est déterministe : une couleur plate par type de tuile, cases vides transparentes, aux dimensions du plan. | |
| TEST (PlaneReferenceTest, DensiteInvalideNeProduitAucunePelure) | |
| Une densité invalide ne produit pas de repère : le format n'accepte que 4, 8 et 16. | |
Tests unitaires des repères du mode création : pelure d'oignon, aplatissement et rééchantillonnage (EX-EDIT-046, LOT-69 TACHE-07).
| TEST | ( | PlaneReferenceTest | , |
| AlphaOverEstAssociatif | ) |
L'alpha-over est associatif : aplatir trois couches d'un coup donne le même résultat que deux fois deux — sans quoi l'ordre d'aplatissement changerait l'image.
Cas de test : L'alpha-over est associatif.
Categorie : Unitaire · Reference de plan
Criticite : Critique
Etapes :
1. Composer trois pixels semi-transparents en groupant a gauche, puis a droite.
Resultat attendu : Les deux resultats coincident.
| TEST | ( | PlaneReferenceTest | , |
| AplatissementIgnoreUneCoucheMasquee | ) |
L'aplatissement ignore une couche masquée, exactement comme si elle n'existait pas.
Cas de test : L'aplatissement ignore une couche masquee.
Categorie : Unitaire · Reference de plan
Criticite : Critique
Etapes :
1. Aplatir deux couches opaques dont la seconde est masquee.
2. Recommencer sans la seconde couche.
Resultat attendu : Les deux images aplaties sont identiques.
| TEST | ( | PlaneReferenceTest | , |
| AplatissementRameneChaqueCoucheALaDensiteCible | ) |
Une couche de densité plus faible est ramenée à la densité cible avant d'être composée : l'aplatissement n'exige pas que tous les plans partagent une densité.
Cas de test : L'aplatissement ramene chaque couche a la densite cible.
Categorie : Unitaire · Reference de plan
Criticite : Majeur
Etapes :
1. Aplatir une couche de densite 8 sur une cible de densite 16.
Resultat attendu : L'image aplatie fait la taille de la cible et porte la couleur de la couche.
| TEST | ( | PlaneReferenceTest | , |
| DensiteInvalideNeProduitAucunePelure | ) |
Une densité invalide ne produit pas de repère : le format n'accepte que 4, 8 et 16.
Cas de test : Une densite invalide ne produit aucune pelure d'oignon.
Categorie : Unitaire · Reference de plan
Criticite : Majeur
Etapes :
1. Construire la pelure a une densite hors format.
Resultat attendu : L'image renvoyee est vide.
| TEST | ( | PlaneReferenceTest | , |
| PelureDOignonDeterministe | ) |
La pelure d'oignon est déterministe : une couleur plate par type de tuile, cases vides transparentes, aux dimensions du plan.
Cas de test : La pelure d'oignon est deterministe et aux dimensions du plan.
Categorie : Unitaire · Reference de plan
Criticite : Critique
Etapes :
1. Construire la pelure d'un brouillon a deux tuiles, en densite 8.
2. La reconstruire a l'identique.
Resultat attendu : Memes dimensions et memes pixels ; la case vide reste transparente, la case solide est opaque et uniforme.
| TEST | ( | PlaneReferenceTest | , |
| RapportNonEntierRefuse | ) |
Un rapport de densités non entier est refusé plutôt qu'interpolé.
Cas de test : Un rapport de densites non entier est refuse.
Categorie : Unitaire · Reference de plan
Criticite : Majeur
Etapes :
1. Reechantillonner de la densite 16 vers une densite qui n'en est pas un diviseur.
Resultat attendu : L'image renvoyee est vide.
| TEST | ( | PlaneReferenceTest | , |
| ReechantillonnageHuitVersSeizeDuplique | ) |
Le rééchantillonnage 8 → 16 duplique chaque pixel : aucun demi-ton n'apparaît.
Cas de test : Le reechantillonnage 8 vers 16 duplique chaque pixel.
Categorie : Unitaire · Reference de plan
Criticite : Majeur
Etapes :
1. Reechantillonner une image 2x2 de la densite 8 vers la densite 16.
Resultat attendu : Chaque pixel source occupe un carre 2x2, a l'identique.
| TEST | ( | PlaneReferenceTest | , |
| ReechantillonnageSeizeVersHuitEstExact | ) |
Le rééchantillonnage 16 → 8 garde un pixel sur deux, sans jamais moyenner.
Cas de test : Le reechantillonnage 16 vers 8 est exact, sans interpolation.
Categorie : Unitaire · Reference de plan
Criticite : Critique
Etapes :
1. Reechantillonner un damier 4x4 de la densite 16 vers la densite 8.
Resultat attendu : L'image fait 2x2 et chaque pixel vaut exactement un pixel source, jamais une moyenne.