Les tests prennent plusieurs dizaines de secondes à cause des délais. Le code fait également des comparaisons explicites avec System.currentTimeMillis() (donc le temps physique).
Mais Slick2D indique le temps qui passe via l'argument int delta de update() (un temps logique). Si les objets faisaient confiance à ce temps logique plutôt que d'aller chercher le temps physique, les tests pourraient s'exécuter instantanément :
// schématiquement
Bomb b = new Bomb();
b.drop();
b.update(500); // faisons comme si il s'était écoulé 500ms
assertFalse(b.hasExploded());
b.update(5000); // 5s de plus
assertTrue(b.hasExploded());
Les tests prennent plusieurs dizaines de secondes à cause des délais. Le code fait également des comparaisons explicites avec
System.currentTimeMillis()
(donc le temps physique).Mais Slick2D indique le temps qui passe via l'argument
int delta
deupdate()
(un temps logique). Si les objets faisaient confiance à ce temps logique plutôt que d'aller chercher le temps physique, les tests pourraient s'exécuter instantanément :