|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la résolution de zone de caméra active (mode par salle, zones dessinées à la main, EX-LVL-007). More...
Functions | |
| TEST (CameraZonesTest, PositionDansUneZoneUniqueRenvoieSonIndice) | |
| Une position à l'intérieur d'une zone unique renvoie l'indice de cette zone. | |
| TEST (CameraZonesTest, PositionHorsDeToutesLesZonesNeRenvoieRien) | |
| Une position hors de toutes les zones ne renvoie aucun indice (repli niveau entier côté appelant). | |
| TEST (CameraZonesTest, BornesInclusivesHautGaucheExclusivesBasDroit) | |
| Les bornes d'une zone sont inclusives côté haut-gauche et exclusives côté bas-droit, comme core::Rect::contains — une grille de zones jointives se partitionne donc sans chevauchement ni trou artificiel à la frontière. | |
| TEST (CameraZonesTest, ZonesChevauchantesLaPremiereDeLaListeGagne) | |
| Deux zones chevauchantes : la première de la liste qui contient la position est retenue, l'ordre porte donc la priorité. | |
| TEST (CameraZonesTest, ListeDeZonesVideNeRenvoieRien) | |
| Une liste de zones vide ne renvoie jamais d'indice. | |
Tests unitaires de la résolution de zone de caméra active (mode par salle, zones dessinées à la main, EX-LVL-007).
| TEST | ( | CameraZonesTest | , |
| BornesInclusivesHautGaucheExclusivesBasDroit | ) |
Les bornes d'une zone sont inclusives côté haut-gauche et exclusives côté bas-droit, comme core::Rect::contains — une grille de zones jointives se partitionne donc sans chevauchement ni trou artificiel à la frontière.
Cas de test : Les bornes d'une zone sont inclusives haut-gauche, exclusives bas-droit.
Categorie : Unitaire · Camera Zones
Criticite : Majeur
Etapes :
1. Construire une zone de 5x5 à l'origine.
2. Résoudre sa case d'origine, puis la case juste après son bord droit/bas.
Resultat attendu : L'origine résout dans la zone ; la case juste hors du bord ne résout dans aucune zone.
| TEST | ( | CameraZonesTest | , |
| ListeDeZonesVideNeRenvoieRien | ) |
Une liste de zones vide ne renvoie jamais d'indice.
Cas de test : Une liste de zones vide ne renvoie jamais d'indice.
Categorie : Unitaire · Camera Zones
Criticite : Mineur
Etapes :
1. Résoudre une position avec une liste de zones vide.
Resultat attendu : std::nullopt est renvoyé.
| TEST | ( | CameraZonesTest | , |
| PositionDansUneZoneUniqueRenvoieSonIndice | ) |
Une position à l'intérieur d'une zone unique renvoie l'indice de cette zone.
Cas de test : Une position dans une zone unique renvoie son indice.
Categorie : Unitaire · Camera Zones
Criticite : Critique
Etapes :
1. Construire une liste avec une seule zone.
2. Résoudre une position à l'intérieur.
Resultat attendu : L'indice 0 est renvoyé.
| TEST | ( | CameraZonesTest | , |
| PositionHorsDeToutesLesZonesNeRenvoieRien | ) |
Une position hors de toutes les zones ne renvoie aucun indice (repli niveau entier côté appelant).
Cas de test : Une position hors de toutes les zones ne renvoie aucun indice.
Categorie : Unitaire · Camera Zones
Criticite : Critique
Etapes :
1. Construire une liste de zones qui ne couvre pas toute la grille.
2. Résoudre une position dans le trou.
Resultat attendu : std::nullopt est renvoyé.
| TEST | ( | CameraZonesTest | , |
| ZonesChevauchantesLaPremiereDeLaListeGagne | ) |
Deux zones chevauchantes : la première de la liste qui contient la position est retenue, l'ordre porte donc la priorité.
Cas de test : Deux zones chevauchantes : la première zone de la liste gagne.
Categorie : Unitaire · Camera Zones
Criticite : Majeur
Etapes :
1. Construire deux zones qui se chevauchent.
2. Résoudre une position dans le chevauchement.
3. Inverser l'ordre des deux zones et répéter.
Resultat attendu : La zone retenue est toujours la première de la liste, quel que soit l'ordre.