|
@@ -30,7 +30,7 @@ class TestDirection(Base):
|
30
|
30
|
self._context.pheromones().set_pheromones(position, pheromones[position])
|
31
|
31
|
|
32
|
32
|
def _test_direction_for_point(self, pheromones, direction, pheromone_type=PHEROMON_DIR_EXPLO,
|
33
|
|
- reference_point=_p(CENTER)):
|
|
33
|
+ reference_point=_p(CENTER), re_init=True):
|
34
|
34
|
"""
|
35
|
35
|
|
36
|
36
|
:param pheromones:
|
|
@@ -39,12 +39,12 @@ class TestDirection(Base):
|
39
|
39
|
:param reference_point:
|
40
|
40
|
:return:
|
41
|
41
|
"""
|
42
|
|
- self._set_up_pheromones(pheromones)
|
|
42
|
+ self._set_up_pheromones(pheromones, re_init=re_init)
|
43
|
43
|
direction_tested = DirectionPheromone.get_direction_for_point(self._context, reference_point, pheromone_type)
|
44
|
44
|
self.assertEqual(direction, direction_tested, "Direction must be %s" % direction)
|
45
|
45
|
|
46
|
46
|
def _test_direction_for_points(self, pheromones, direction, pheromone_type=PHEROMON_DIR_EXPLO,
|
47
|
|
- reference_point=_p(CENTER)):
|
|
47
|
+ reference_point=_p(CENTER), re_init=True):
|
48
|
48
|
"""
|
49
|
49
|
|
50
|
50
|
:param pheromones:
|
|
@@ -53,7 +53,7 @@ class TestDirection(Base):
|
53
|
53
|
:param reference_point:
|
54
|
54
|
:return:
|
55
|
55
|
"""
|
56
|
|
- self._set_up_pheromones(pheromones)
|
|
56
|
+ self._set_up_pheromones(pheromones, re_init=re_init)
|
57
|
57
|
around_points = self._context.get_arround_points_of(reference_point)
|
58
|
58
|
direction_tested = DirectionPheromone.get_best_pheromone_direction_in(self._context,
|
59
|
59
|
reference_point,
|
|
@@ -200,3 +200,38 @@ class TestDirection(Base):
|
200
|
200
|
}, -1))
|
201
|
201
|
except NoPheromone:
|
202
|
202
|
self.assertTrue(True)
|
|
203
|
+
|
|
204
|
+ def test_appose(self):
|
|
205
|
+ self._test_point_raise_no_pheromone()
|
|
206
|
+ self._test_points_raise_no_pheromone()
|
|
207
|
+
|
|
208
|
+ # Une pheromone au centre
|
|
209
|
+ DirectionPheromone.appose(self._context,
|
|
210
|
+ _p(CENTER),
|
|
211
|
+ (PHEROMON_DIR_EXPLO, 2))
|
|
212
|
+ # Ne permet pas de trouver une route
|
|
213
|
+ self._test_point_raise_no_pheromone(re_init=False)
|
|
214
|
+ self._test_points_raise_no_pheromone(re_init=False)
|
|
215
|
+
|
|
216
|
+ # Une pheromone au nord
|
|
217
|
+ DirectionPheromone.appose(self._context,
|
|
218
|
+ _p(NORTH),
|
|
219
|
+ (PHEROMON_DIR_EXPLO, 1))
|
|
220
|
+ # le permet
|
|
221
|
+ self._test_direction_for_points({}, NORTH, re_init=False)
|
|
222
|
+ self._test_direction_for_point({}, NORTH, re_init=False)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+ def _test_point_raise_no_pheromone(self, pheromones={}, direction=-1, pheromone_type=PHEROMON_DIR_EXPLO,
|
|
226
|
+ reference_point=_p(CENTER), re_init=True):
|
|
227
|
+ try: # WTF ?
|
|
228
|
+ self._test_direction_for_point(pheromones, direction, re_init=re_init)
|
|
229
|
+ except NoPheromone:
|
|
230
|
+ self.assertTrue(True)
|
|
231
|
+
|
|
232
|
+ def _test_points_raise_no_pheromone(self, pheromones={}, direction=-1, pheromone_type=PHEROMON_DIR_EXPLO,
|
|
233
|
+ reference_point=_p(CENTER), re_init=True):
|
|
234
|
+ try: # WTF ?
|
|
235
|
+ self._test_direction_for_points(pheromones, direction, re_init=re_init)
|
|
236
|
+ except NoPheromone:
|
|
237
|
+ self.assertTrue(True)
|