def main(cls): # Créer un classement initialement vide pour la course cl = Classement() # Boucle infinie while True: # Choisir aléatoirement un coureur de la liste c = random.choice(cls.coureurs) # Lui assigner un temps entre 1000 et 5000 secondes t = Temps() t.add_secondes(random.randint(1000, 5000)) # Créer un résultat pour ce coureur avec ce temps r = Resultat(c, t) print(r) # Cherche le dernier résultat de ce coureur dans le classement. r1 = cl.get(r.coureur()) # Imprime le classement actuel de coureur dans le classement. if r1 is None: print(" Pas encore classé") else: print(" Actuellement classé " + str(cl.get_position(c))) print(" Dernier temps enregistré = " + str(r1.temps())) # Compare son dernier résultat stocké avec son nouveau résultat if r1 is not None and r >= r1: print(" Moins bon temps, ignoré") else: print(" Nouveau temps est meilleur; sera enregistré") cl.remove(c) cl.add(r) print(" Maintenant classé " + str(cl.get_position(c))) print() print("CLASSEMENT:") print(cl) print() # Attendre une seconde avant de recommencer la boucle while time.sleep(1)
def test_size(self): self.assertEqual(self.cl.size(), 0) self.cl.add(Resultat(self.coureur1, Temps(0, 12, 33))) self.assertEqual(self.cl.size(), 1) self.cl.add(Resultat(self.coureur2, Temps(0, 12, 33))) self.assertEqual(self.cl.size(), 2) self.cl.add(Resultat(self.coureur2, Temps(0, 12, 33))) self.cl.add(Resultat(self.coureur2, Temps(0, 12, 33))) self.assertEqual(self.cl.size(), 4)
def temps(): from temps import Temps with patch('temps.APIMeteo', new=FausseAPIMeteo): return Temps()
def test_remove(self): self.cl.add(Resultat(self.coureur1, Temps(0, 12, 33))) self.cl.remove(Resultat(self.coureur1, Temps(0, 12, 33)))
def test_add(self): self.cl.add(Resultat(self.coureur1, Temps(0, 12, 33))) self.cl.add(Resultat(self.coureur2, Temps(1, 1, 32))) self.cl.add(Resultat(self.coureur3, Temps(0, 0, 0)))