JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
test_identity_scale.cpp File Reference

Tests unitaires du facteur d'agrandissement des écrans du jeu (LOT-66, EX-IHM-070). More...

#include <gtest/gtest.h>
#include "HMI/Presentation/IdentityScale.h"

Functions

 TEST (IdentityScaleTest, FacteurToujoursBorneEntreUnEtLePlafond)
 Le facteur est toujours un entier d'au moins 1 et n'excède jamais le plafond, pour n'importe quelle hauteur — y compris absurde (nulle, négative, gigantesque).
 TEST (IdentityScaleTest, FacteurMonotoneEnHauteur)
 Le facteur ne décroît jamais quand la fenêtre grandit.
 TEST (IdentityScaleTest, LeSeuilEstAtteintParDefautJamaisParArrondi)
 Une hauteur juste sous un seuil garde le facteur inférieur : la maquette doit tenir ENTIÈREMENT dans la fenêtre.
 TEST (IdentityScaleTest, HauteursCourantesDonnentLesFacteursAnnonces)
 Les trois hauteurs de fenêtre courantes tombent sur les facteurs annoncés dans les maquettes : 720p à ×2, 1080p à ×3, et 1440p reste à ×3 (plafond).
 TEST (IdentityScaleTest, FacteurBorneParLaZoneDisponible)
 Le facteur borné n'excède jamais celui qu'admet la zone d'affichage disponible.
 TEST (IdentityScaleTest, UneFenetreDebordanteNeGagnePasDeFacteur)
 Une fenêtre que Qt a été contraint d'agrandir au-delà de l'écran ne gagne aucun facteur pour autant.
 TEST (IdentityScaleTest, ZoneDisponibleInconnueLaisseLaFenetreDecider)
 Une zone disponible inconnue laisse la seule hauteur de fenêtre décider.
 TEST (IdentityScaleTest, UnePetiteFenetreGardeSonFacteur)
 Une fenêtre plus petite que l'écran garde son propre facteur : la borne ne doit pas imposer le facteur de l'écran, seulement l'empêcher d'être dépassé.

Detailed Description

Tests unitaires du facteur d'agrandissement des écrans du jeu (LOT-66, EX-IHM-070).

Function Documentation

◆ TEST() [1/8]

TEST ( IdentityScaleTest ,
FacteurBorneParLaZoneDisponible  )

Le facteur borné n'excède jamais celui qu'admet la zone d'affichage disponible.

C'est la fermeture du cliquet : le facteur grossit les grandeurs d'habillage, qui grossissent la taille minimale des écrans, qui grossit la fenêtre — laquelle relancerait le calcul un cran plus haut si la seule hauteur de fenêtre décidait. Cas de test : Le facteur borne n'excede jamais celui de la zone disponible.
Categorie : Unitaire · Echelle de l identite
Criticite : Bloquant
Etapes :
1. Demander le facteur borne pour des couples (hauteur de fenetre, zone disponible).
2. Comparer au facteur de la seule zone disponible.
Resultat attendu : Le facteur borne ne depasse jamais celui de la zone disponible.

◆ TEST() [2/8]

TEST ( IdentityScaleTest ,
FacteurMonotoneEnHauteur  )

Le facteur ne décroît jamais quand la fenêtre grandit.

C'est ce qui rend le redimensionnement prévisible : agrandir la fenêtre ne peut pas rapetisser l'interface. Cas de test : Le facteur croit de facon monotone avec la hauteur de fenetre.
Categorie : Unitaire · Echelle de l identite
Criticite : Majeur
Etapes :
1. Parcourir les hauteurs de 0 a 2400 par pas de 1.
2. Comparer chaque facteur au precedent.
Resultat attendu : Le facteur ne diminue jamais.

◆ TEST() [3/8]

TEST ( IdentityScaleTest ,
FacteurToujoursBorneEntreUnEtLePlafond  )

Le facteur est toujours un entier d'au moins 1 et n'excède jamais le plafond, pour n'importe quelle hauteur — y compris absurde (nulle, négative, gigantesque).

Un facteur nul ferait disparaître l'interface ; un facteur non borné remplirait l'écran de trois entrées de menu. Cas de test : Le facteur reste entier, superieur a 1 et borne par le plafond.
Categorie : Unitaire · Echelle de l identite
Criticite : Critique
Etapes :
1. Demander le facteur pour des hauteurs allant du negatif au tres grand.
Resultat attendu : Chaque resultat est compris entre 1 et IDENTITY_MAX_SCALE inclus.

◆ TEST() [4/8]

TEST ( IdentityScaleTest ,
HauteursCourantesDonnentLesFacteursAnnonces  )

Les trois hauteurs de fenêtre courantes tombent sur les facteurs annoncés dans les maquettes : 720p à ×2, 1080p à ×3, et 1440p reste à ×3 (plafond).

Ce test fige la promesse faite au level designer, pas seulement la formule. Cas de test : Les hauteurs d'ecran courantes donnent les facteurs annonces.
Categorie : Unitaire · Echelle de l identite
Criticite : Majeur
Etapes :
1. Demander le facteur pour 360, 720, 1080 et 1440 pixels logiques.
Resultat attendu : Respectivement 1, 2, 3 et 3.

◆ TEST() [5/8]

TEST ( IdentityScaleTest ,
LeSeuilEstAtteintParDefautJamaisParArrondi  )

Une hauteur juste sous un seuil garde le facteur inférieur : la maquette doit tenir ENTIÈREMENT dans la fenêtre.

Arrondir plutôt que tronquer ferait passer une fenêtre de 700 px à l'échelle 2, pour laquelle il manque 20 px — la dernière entrée du menu passerait sous le bord. Cas de test : Une hauteur juste insuffisante ne declenche pas le facteur superieur.
Categorie : Unitaire · Echelle de l identite
Criticite : Critique
Etapes :
1. Demander le facteur juste avant et juste apres chaque multiple de la hauteur de base.
Resultat attendu : Le facteur ne monte qu'a partir du multiple exact, jamais avant.

◆ TEST() [6/8]

TEST ( IdentityScaleTest ,
UneFenetreDebordanteNeGagnePasDeFacteur  )

Une fenêtre que Qt a été contraint d'agrandir au-delà de l'écran ne gagne aucun facteur pour autant.

C'est exactement le cas signalé : sur un écran de 1009 pixels utiles, une fenêtre poussée à 1560 réclamait le facteur 3, dont les grandeurs la poussaient plus loin encore. Cas de test : Une fenetre plus haute que l'ecran ne gagne pas de facteur.
Categorie : Unitaire · Echelle de l identite
Criticite : Bloquant
Etapes :
1. Zone disponible de 1009 pixels (cas rapporte).
2. Demander le facteur pour des hauteurs de fenetre croissantes, jusqu'au-dela de l'ecran.
Resultat attendu : Le facteur plafonne a celui de la zone disponible et n'augmente plus.

◆ TEST() [7/8]

TEST ( IdentityScaleTest ,
UnePetiteFenetreGardeSonFacteur  )

Une fenêtre plus petite que l'écran garde son propre facteur : la borne ne doit pas imposer le facteur de l'écran, seulement l'empêcher d'être dépassé.

Sans quoi une petite fenêtre sur un grand écran rendrait une maquette plus grande qu'elle. Cas de test : Une petite fenetre garde son facteur sur un grand ecran.
Categorie : Unitaire · Echelle de l identite
Criticite : Majeur
Etapes :
1. Zone disponible de 1440 pixels.
2. Demander le facteur pour des fenetres de 360 et 720 pixels.
Resultat attendu : Respectivement 1 et 2, jamais le facteur 3 que l'ecran admettrait.

◆ TEST() [8/8]

TEST ( IdentityScaleTest ,
ZoneDisponibleInconnueLaisseLaFenetreDecider  )

Une zone disponible inconnue laisse la seule hauteur de fenêtre décider.

Le cas se produit avant que la fenêtre ne soit rattachée à un écran : refuser de choisir y vaudrait mieux qu'un facteur arbitraire, mais l'interface doit tout de même s'afficher. Cas de test : Une zone disponible inconnue laisse la fenetre decider.
Categorie : Unitaire · Echelle de l identite
Criticite : Majeur
Etapes :
1. Demander le facteur borne avec une zone disponible nulle puis negative.
Resultat attendu : Le resultat est celui de identityScaleFor sur la seule hauteur de fenetre.