|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la composition du rendu et de sa capture sans GPU (LOT-40, EX-NFR-004, EX-REN-043, EX-REN-014). More...
#include <gtest/gtest.h>#include "Core/Ecs/Components/Sprite.h"#include "Core/Ecs/Components/Transform.h"#include "Core/Ecs/World.h"#include "HMI/Graphics/ComposedScene.h"#include "HMI/Graphics/MissingTexture.h"#include "HMI/Graphics/QuadRecorder.h"#include "HMI/Graphics/RenderLayer.h"Functions | |
| TEST (QuadRecorderTest, CalquePrimeSurTexture) | |
| Le calque prime sur la texture : une primitive d'un calque inférieur reste soumise avant une primitive d'un calque supérieur, quel que soit l'ordre de composition. | |
| TEST (QuadRecorderTest, TroisCalquesDeuxTexturesOrdonnes) | |
| Sur trois calques et deux textures, aucun quad d'un calque supérieur n'est soumis avant un quad d'un calque inférieur, et chaque texture forme un groupe contigu par calque. | |
| TEST (QuadRecorderTest, TriStableAClefEgale) | |
| À calque, texture et tri fin égaux, l'ordre de composition est préservé (tri stable). | |
| TEST (QuadRecorderTest, TriFinParSpriteLayer) | |
| À l'intérieur d'un calque et d'une texture, core::Sprite::layer conserve son rôle de tri fin. | |
| TEST (QuadRecorderTest, DeuxTexturesDeuxPasses) | |
| Une texture d'un même calque n'est jamais scindée en deux groupes : une passe begin/end par groupe suffit. | |
| TEST (QuadRecorderTest, RectanglesEtSegmentsMelanges) | |
| Segments épais et rectangles cohabitent dans la même liste ordonnée, chacun identifié par sa nature. | |
| TEST (QuadRecorderTest, SceneDeReferenceNonRegression) | |
| Scène de référence : trois tuiles et un personnage produisent exactement les primitives du rendu d'avant le lot — mêmes positions, même ordre, une seule passe. | |
| TEST (QuadRecorderTest, CalqueParDefautSansTag) | |
| Une entité sans RenderLayerTag est composée sur le calque des tuiles : l'absence de composant est le défaut utile, pas un oubli. | |
| TEST (QuadRecorderTest, OrdonnancementDeclare) | |
| L'ordonnancement déclaré place le premier plan au-dessus du personnage et les aides d'édition au-dessus de tout (EX-REN-014, EX-DEC-002). | |
Tests unitaires de la composition du rendu et de sa capture sans GPU (LOT-40, EX-NFR-004, EX-REN-043, EX-REN-014).
| TEST | ( | QuadRecorderTest | , |
| CalqueParDefautSansTag | ) |
Une entité sans RenderLayerTag est composée sur le calque des tuiles : l'absence de composant est le défaut utile, pas un oubli.
Cas de test : Une entite sans RenderLayerTag est composee sur le calque des tuiles.
Categorie : Unitaire · Quad Recorder
Criticite : Majeur
Etapes :
1. Composer un monde d'une seule entite non taguee.
Resultat attendu : La primitive porte le calque par defaut.
| TEST | ( | QuadRecorderTest | , |
| CalquePrimeSurTexture | ) |
Le calque prime sur la texture : une primitive d'un calque inférieur reste soumise avant une primitive d'un calque supérieur, quel que soit l'ordre de composition.
Cas de test : Le calque prime sur la texture dans l'ordre de soumission.
Categorie : Unitaire · Quad Recorder
Criticite : Critique
Etapes :
1. Composer un quad Player (texture A) puis un quad Tile (texture B).
2. Trier et capturer la scene.
Resultat attendu : Le quad Tile est soumis avant le quad Player.
| TEST | ( | QuadRecorderTest | , |
| DeuxTexturesDeuxPasses | ) |
Une texture d'un même calque n'est jamais scindée en deux groupes : une passe begin/end par groupe suffit.
Cas de test : Le nombre de passes egale le nombre de groupes de texture.
Categorie : Unitaire · Quad Recorder
Criticite : Majeur
Etapes :
1. Composer quatre quads d'un meme calque en alternant deux textures.
2. Trier.
Resultat attendu : La scene ne compte que deux passes.
| TEST | ( | QuadRecorderTest | , |
| OrdonnancementDeclare | ) |
L'ordonnancement déclaré place le premier plan au-dessus du personnage et les aides d'édition au-dessus de tout (EX-REN-014, EX-DEC-002).
Cas de test : L'ordonnancement place le premier plan au-dessus du personnage.
Categorie : Unitaire · Quad Recorder
Criticite : Critique
Etapes :
1. Comparer les valeurs declarees de l'enumeration des calques.
Resultat attendu : L'ordre fond -> plans -> ombres -> tuiles -> objets -> personnage -> premier plan -> interface -> edition est respecte.
| TEST | ( | QuadRecorderTest | , |
| RectanglesEtSegmentsMelanges | ) |
Segments épais et rectangles cohabitent dans la même liste ordonnée, chacun identifié par sa nature.
Cas de test : Segments et rectangles cohabitent dans la meme scene ordonnee.
Categorie : Unitaire · Quad Recorder
Criticite : Mineur
Etapes :
1. Composer un rectangle puis un segment sur le meme calque.
2. Trier et capturer.
Resultat attendu : Les deux primitives sont capturees dans l'ordre, avec la bonne nature.
| TEST | ( | QuadRecorderTest | , |
| SceneDeReferenceNonRegression | ) |
Scène de référence : trois tuiles et un personnage produisent exactement les primitives du rendu d'avant le lot — mêmes positions, même ordre, une seule passe.
Cas de test : Non-regression : la scene de reference produit les primitives attendues.
Categorie : Unitaire · Quad Recorder
Criticite : Critique
Etapes :
1. Peupler un monde de trois tuiles puis d'un personnage tague Player.
2. Composer la scene et la trier.
3. Capturer et inspecter la liste.
Resultat attendu : Les trois tuiles sont soumises dans l'ordre de creation, puis le personnage, en une seule passe.
| TEST | ( | QuadRecorderTest | , |
| TriFinParSpriteLayer | ) |
À l'intérieur d'un calque et d'une texture, core::Sprite::layer conserve son rôle de tri fin.
Cas de test : Le tri fin par Sprite::layer subsiste a l'interieur d'un calque.
Categorie : Unitaire · Quad Recorder
Criticite : Majeur
Etapes :
1. Composer trois quads du meme calque avec des tris fins decroissants.
2. Trier.
Resultat attendu : Les quads sont reordonnes par tri fin croissant.
| TEST | ( | QuadRecorderTest | , |
| TriStableAClefEgale | ) |
À calque, texture et tri fin égaux, l'ordre de composition est préservé (tri stable).
Cas de test : Le tri est stable : a cle egale l'ordre de composition est preserve.
Categorie : Unitaire · Quad Recorder
Criticite : Majeur
Etapes :
1. Composer trois quads identiques en cle, a des positions differentes.
2. Trier.
Resultat attendu : Les trois quads restent dans leur ordre de composition.
| TEST | ( | QuadRecorderTest | , |
| TroisCalquesDeuxTexturesOrdonnes | ) |
Sur trois calques et deux textures, aucun quad d'un calque supérieur n'est soumis avant un quad d'un calque inférieur, et chaque texture forme un groupe contigu par calque.
Cas de test : Trois calques et deux textures : ordre des calques et groupes de texture contigus.
Categorie : Unitaire · Quad Recorder
Criticite : Critique
Etapes :
1. Composer six quads en alternant calques et textures.
2. Trier et capturer.
Resultat attendu : L'ordre des calques est respecte et les groupes de texture sont contigus.