|
@@ -1,12 +1,14 @@
|
1
|
1
|
from os import getcwd
|
2
|
2
|
from sys import path as ppath
|
|
3
|
+from intelligine.core.exceptions import NoPheromone
|
|
4
|
+
|
3
|
5
|
ppath.insert(1,getcwd()+'/modules') # TODO: win32 compatibilite (python path)
|
4
|
6
|
# TODO: load et launch des tests auto (avec bootstrap contenant ci dessus)
|
5
|
7
|
|
6
|
8
|
from intelligine.tests.simulation.pheromone.Base import Base
|
7
|
9
|
from intelligine.simulation.pheromone.DirectionPheromone import DirectionPheromone
|
8
|
10
|
from intelligine.core.Context import Context
|
9
|
|
-from intelligine.cst import PHEROMON_DIRECTION, PHEROMON_DIR_EXPLO
|
|
11
|
+from intelligine.cst import PHEROMON_DIRECTION, PHEROMON_DIR_EXPLO, PHEROMON_DIR_HOME
|
10
|
12
|
|
11
|
13
|
|
12
|
14
|
class TestDirection(Base):
|
|
@@ -141,13 +143,45 @@ class TestDirection(Base):
|
141
|
143
|
test_data = {
|
142
|
144
|
11: {
|
143
|
145
|
(0, 0, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 2)}}
|
|
146
|
+ },
|
|
147
|
+ 11: {
|
|
148
|
+ (0, 0, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 2)}},
|
|
149
|
+ (0, -1, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_HOME: (9, 500)}} # An other pheromone type
|
144
|
150
|
}
|
145
|
151
|
}
|
146
|
|
- self._test_direction_for_points({(0, 0, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 2)}}},
|
147
|
|
- 11)
|
|
152
|
+
|
|
153
|
+ for direction in test_data:
|
|
154
|
+ self._test_direction_for_points(test_data[direction], direction)
|
148
|
155
|
|
149
|
156
|
def test_direction_with_multiple_intensity(self):
|
150
|
|
- self._test_direction_for_points({(0, 0, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 5)}},
|
151
|
|
- (0, 1, 1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 4)}},
|
152
|
|
- (0, -1, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 4)}}},
|
153
|
|
- 11)
|
|
157
|
+ test_data = {
|
|
158
|
+ 11: {
|
|
159
|
+ (0, 0, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 5)}},
|
|
160
|
+ (0, 1, 1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 4)}},
|
|
161
|
+ (0, -1, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 4)}}
|
|
162
|
+ },
|
|
163
|
+ 11: {
|
|
164
|
+ (0, 0, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 5)}},
|
|
165
|
+ (0, -1, 0): {PHEROMON_DIRECTION: {PHEROMON_DIR_HOME: (9, 500)}}, # An other pheromone_type
|
|
166
|
+ (0, 1, 1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 4)}},
|
|
167
|
+ (0, -1, -1): {PHEROMON_DIRECTION: {PHEROMON_DIR_EXPLO: (9, 4)}}
|
|
168
|
+ }
|
|
169
|
+ }
|
|
170
|
+
|
|
171
|
+ for direction in test_data:
|
|
172
|
+ self._test_direction_for_points(test_data[direction], direction)
|
|
173
|
+
|
|
174
|
+ def test_no_pheromones_around(self):
|
|
175
|
+ # No pheromone
|
|
176
|
+ try: # WTF ?
|
|
177
|
+ self.assertRaises(NoPheromone, self._test_direction_for_points({}, -1))
|
|
178
|
+ except NoPheromone:
|
|
179
|
+ self.assertTrue(True)
|
|
180
|
+
|
|
181
|
+ # Wrong pheromone type
|
|
182
|
+ try: # WTF ?
|
|
183
|
+ self.assertRaises(NoPheromone, self._test_direction_for_points({
|
|
184
|
+ (0, 1, 1): {PHEROMON_DIRECTION: {PHEROMON_DIR_HOME: (9, 5)}}
|
|
185
|
+ }, -1))
|
|
186
|
+ except NoPheromone:
|
|
187
|
+ self.assertTrue(True)
|