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

Tests unitaires du cadenceur à pas de temps fixe. More...

#include <gtest/gtest.h>
#include "Core/Time/FixedTimestep.h"

Functions

 TEST (FixedTimestepTest, UnPasExact)
 Un temps écoulé égal au pas fixe produit exactement un pas.
 TEST (FixedTimestepTest, TempsInsuffisant)
 Un temps écoulé inférieur au pas ne produit aucun pas.
 TEST (FixedTimestepTest, TempsNulOuNegatif)
 Un temps écoulé nul ou négatif ne produit aucun pas.
 TEST (FixedTimestepTest, ResteConserve)
 2,5 pas donnent 2 pas, et le reste (0,5 pas) est conservé puis complété.
 TEST (FixedTimestepTest, PlafondAntiSpirale)
 Un temps écoulé énorme est plafonné (anti-spirale de la mort).
 TEST (FixedTimestepTest, PasFixeExpose)
 Le pas fixe exposé correspond à la configuration.
 TEST (FixedTimestepTest, PauseSansAppelNAccumuleAucunPas)
 Ne pas appeler advance() pendant une pause (LOT-59 TACHE-02) n'accumule rien : le cadenceur n'a aucune horloge propre, seuls ses appels comptent – une pause de durée réelle arbitraire, simulée en n'appelant simplement pas advance(), suivie d'un appel avec un petit delta (l'horloge de référence réarmée à la reprise, EX-GP-041) ne rend qu'un seul pas, jamais une rafale de rattrapage.

Detailed Description

Tests unitaires du cadenceur à pas de temps fixe.

Function Documentation

◆ TEST() [1/7]

TEST ( FixedTimestepTest ,
PasFixeExpose  )

Le pas fixe exposé correspond à la configuration.

Cas de test : Le pas fixe exposé correspond à la configuration.
Categorie : Unitaire · Fixed Timestep
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Le pas fixe exposé correspond à la configuration.

◆ TEST() [2/7]

TEST ( FixedTimestepTest ,
PauseSansAppelNAccumuleAucunPas  )

Ne pas appeler advance() pendant une pause (LOT-59 TACHE-02) n'accumule rien : le cadenceur n'a aucune horloge propre, seuls ses appels comptent – une pause de durée réelle arbitraire, simulée en n'appelant simplement pas advance(), suivie d'un appel avec un petit delta (l'horloge de référence réarmée à la reprise, EX-GP-041) ne rend qu'un seul pas, jamais une rafale de rattrapage.

Cas de test : Une pause simulée (aucun appel à advance()) n'accumule aucun pas.
Categorie : Unitaire · Fixed Timestep
Criticite : Critique
Etapes :
1. Avancer normalement de quelques pas.
2. Simuler une pause de longue durée en n'appelant PAS advance() (aucun appel, pas un appel à zéro).
3. Reprendre avec un petit delta, comme après réarmement de l'horloge de référence.
Resultat attendu : Le pas suivant la « pause » ne rend qu'un seul pas, jamais une rafale.

◆ TEST() [3/7]

TEST ( FixedTimestepTest ,
PlafondAntiSpirale  )

Un temps écoulé énorme est plafonné (anti-spirale de la mort).

Cas de test : Un temps écoulé énorme est plafonné (anti-spirale de la mort).
Categorie : Unitaire · Fixed Timestep
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un temps écoulé énorme est plafonné (anti-spirale de la mort).

◆ TEST() [4/7]

TEST ( FixedTimestepTest ,
ResteConserve  )

2,5 pas donnent 2 pas, et le reste (0,5 pas) est conservé puis complété.

Cas de test : 2,5 pas donnent 2 pas, et le reste (0,5 pas) est conservé puis complété.
Categorie : Unitaire · Fixed Timestep
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : 2,5 pas donnent 2 pas, et le reste (0,5 pas) est conservé puis complété.

◆ TEST() [5/7]

TEST ( FixedTimestepTest ,
TempsInsuffisant  )

Un temps écoulé inférieur au pas ne produit aucun pas.

Cas de test : Un temps écoulé inférieur au pas ne produit aucun pas.
Categorie : Unitaire · Fixed Timestep
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un temps écoulé inférieur au pas ne produit aucun pas.

◆ TEST() [6/7]

TEST ( FixedTimestepTest ,
TempsNulOuNegatif  )

Un temps écoulé nul ou négatif ne produit aucun pas.

Cas de test : Un temps écoulé nul ou négatif ne produit aucun pas.
Categorie : Unitaire · Fixed Timestep
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un temps écoulé nul ou négatif ne produit aucun pas.

◆ TEST() [7/7]

TEST ( FixedTimestepTest ,
UnPasExact  )

Un temps écoulé égal au pas fixe produit exactement un pas.

Cas de test : Un temps écoulé égal au pas fixe produit exactement un pas.
Categorie : Unitaire · Fixed Timestep
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un temps écoulé égal au pas fixe produit exactement un pas.