class TestAlgorithmeTrajectoire(TestCase): def setUp(self): self.carte = Carte() self.carte.ajouterElementCarto(self.analyseImageWorld.elementsCartographiques) self.carte.trajectoire.initGrilleCellule([]) self.algo = AlgorithmeTrajectoire(self.carte.trajectoire.grilleCellule) def test_trouverTrajet(self): depart = (random.randrange(5,1595), random.randrange(5,845)) arrive = (random.randrange(5,1595), random.randrange(5,845)) self.algo.trouverTrajet(depart, arrive) bool = self.trajetValide(self.carte.trajectoire.tra, depart, arrive) self.assertTrue(bool) def trajetValide(self, trajet, arrive, depart): if (trajet == []): return True elif (depart[0]-6 < trajet[0][0] and trajet[0][0] < depart[0]+6) and (depart[1]-9 < trajet[1][1] and trajet[1][1] < depart[1]+9): return True else: return False def test_simplifierTrajectoire(self): depart = (20, 20) milieuInutile = (20, 400) arrive = (20, 820) self.algo.trajet = [depart, milieuInutile, arrive] self.algo.simplifierTrajet() self.assertEqual(len(self.carte.trajectoire.trajectoire), 2) def test_SectionnerTrajectoire(self): depart = (20, 20) arrive = (20, 820) self.algo.trajet = [depart, arrive] self.algo.sectionnerTrajet() bool = len(self.algo.trajet) >= 2 self.assertTrue(bool) def test_eliminerDetourInutile(self): depart = (20, 20) milieuInutile = (200, 400) arrive = (20, 820) self.algo.trajet = [depart, milieuInutile, arrive] self.algo.eliminerDetourInutile() bool = len(self.algo.trajet) == 2 self.assertTrue(bool) def test_distanceAuCarre(self): self.algo.distanceAuCarre(0, 0, 8, 8) self.assertTrue(self.algo.grilleCellule.distanceAuCarre.called)
def trouverTrajet(self, depart, arriver, type): algoTrajectoire = AlgorithmeTrajectoire(self.grilleCellule) self.trajectoire = algoTrajectoire.trouverTrajet(depart, arriver, type) return self.trajectoire
def setUp(self): self.carte = Carte() self.carte.ajouterElementCarto(self.analyseImageWorld.elementsCartographiques) self.carte.trajectoire.initGrilleCellule([]) self.algo = AlgorithmeTrajectoire(self.carte.trajectoire.grilleCellule)