|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de l'élévation temporaire (RAII) du niveau minimal d'un journaliseur. More...
#include <gtest/gtest.h>#include "Core/Diagnostics/Logger.h"#include "Core/Diagnostics/ScopedLogLevel.h"Functions | |
| TEST (ScopedLogLevelTest, ReleveUnNiveauPermissifPuisLeRestaure) | |
| Un niveau plus permissif (Trace) que le plancher demandé (Warning) est relevé pendant la portée, puis restauré à la sortie. | |
| TEST (ScopedLogLevelTest, NAssouplitJamaisUnNiveauDejaPlusStrict) | |
| Un niveau déjà plus strict que le plancher demandé n'est jamais assoupli. | |
| TEST (ScopedLogLevelTest, ElevationsImbriqueesNeRestaurentQuALaDerniereSortie) | |
| Deux élévations qui se chevauchent ne restaurent le niveau d'origine qu'à la sortie de la dernière. | |
Tests unitaires de l'élévation temporaire (RAII) du niveau minimal d'un journaliseur.
| TEST | ( | ScopedLogLevelTest | , |
| ElevationsImbriqueesNeRestaurentQuALaDerniereSortie | ) |
Deux élévations qui se chevauchent ne restaurent le niveau d'origine qu'à la sortie de la dernière.
C'est le cas réel de l'écran Mode IA : un entraînement et une évaluation peuvent tourner en même temps, chacun élevant le niveau pour la durée de son run. Avec une restauration par objet, la première portée à se fermer remettait le niveau qu'elle avait mémorisé — Warning, déjà relevé par l'autre — et le journal restait muet pour toute la session. Cas de test : Élévations imbriquées : restauration à la sortie de la dernière seulement.
Categorie : Unitaire · Core Diagnostics
Criticite : Majeur
Etapes :
1. Journaliseur à Info.
2. Ouvrir une première élévation à Warning, puis une seconde.
3. Fermer la première, vérifier le niveau ; fermer la seconde, vérifier à nouveau.
Resultat attendu : Le niveau reste Warning tant qu'une élévation est ouverte, et revient à Info seulement quand la dernière se ferme.
| TEST | ( | ScopedLogLevelTest | , |
| NAssouplitJamaisUnNiveauDejaPlusStrict | ) |
Un niveau déjà plus strict que le plancher demandé n'est jamais assoupli.
Cas de test : ScopedLogLevel n'assouplit jamais un niveau déjà plus strict.
Categorie : Unitaire · ScopedLogLevel
Criticite : Majeur
Etapes :
1. Logger au niveau Error.
2. Ouvrir une portée ScopedLogLevel(logger,
Warning).
Resultat attendu : Le niveau reste Error pendant la portée et après.
| TEST | ( | ScopedLogLevelTest | , |
| ReleveUnNiveauPermissifPuisLeRestaure | ) |
Un niveau plus permissif (Trace) que le plancher demandé (Warning) est relevé pendant la portée, puis restauré à la sortie.
Cas de test : ScopedLogLevel relève un niveau permissif, puis le restaure.
Categorie : Unitaire · ScopedLogLevel
Criticite : Majeur
Etapes :
1. Logger au niveau Trace.
2. Ouvrir une portée ScopedLogLevel(logger,
Warning).
3. Fermer la portée.
Resultat attendu : Niveau Warning pendant la portée, Trace restauré après.