Skip to content

Commit d400d43

Browse files
committed
Fix in tests and in last changes made about Preevaluation
1 parent c2a8fb4 commit d400d43

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

MLC/Common/PreevaluationManager.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,6 @@ def get_callback():
4444
lg.logger_.debug("[PREEV_MANAGER] Preevaluation function doesn't exists. " +
4545
"Aborting program...")
4646
sys.exit(-1)
47+
return None
4748

4849

MLC/individual/Individual.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,10 @@ def crossover(self, other_individual):
124124

125125
# Check if the individual is valid
126126
preev_function = PreevaluationManager.get_callback()
127-
success = preev_function.preev(indiv1) and preev_function.preev(indiv2)
127+
success = True
128+
if preev_function is not None:
129+
success = preev_function.preev(indiv1) and preev_function.preev(indiv2)
130+
128131
return Individual(new_value_1), Individual(new_value_2), not success
129132

130133
except TreeException, ex:
@@ -230,7 +233,10 @@ def __mutate_tree(self, mutation_type):
230233

231234
# Preevaluate the Individual
232235
preev_function = PreevaluationManager.get_callback()
233-
preevok = preev_function.preev(Individual(new_individual_value))
236+
if preev_function is not None:
237+
preevok = preev_function.preev(Individual(new_individual_value))
238+
else:
239+
preevok = True
234240

235241
if not new_individual_value:
236242
raise TreeException("Subtree cannot be generated")

tests/mlc/db/test_mlc_repository.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -793,9 +793,9 @@ def test_save_serial_connection(self):
793793

794794
loaded_serial_connection = mlc_repo.load_serial_connection(board_id)
795795

796-
self.assertEquals(serial_connection.port, loaded_serial_connection.port)
796+
self.assertEquals(serial_connection.port, int(loaded_serial_connection.port))
797797
self.assertEquals(serial_connection.baudrate, loaded_serial_connection.baudrate)
798-
self.assertEquals(serial_connection.parity, loaded_serial_connection.parity)
798+
self.assertEquals(serial_connection.parity, int(loaded_serial_connection.parity))
799799
self.assertEquals(serial_connection.stopbits, loaded_serial_connection.stopbits)
800800
self.assertEquals(serial_connection.bytesize, loaded_serial_connection.bytesize)
801801

@@ -827,8 +827,8 @@ def test_update_serial_connection(self):
827827
self.assertEqual(updated_serial_connection_id, serial_connection_id)
828828
serial_connection = mlc_repo.load_serial_connection(board_id)
829829

830-
self.assertEquals(serial_connection.port, updated_serial_connection.port)
830+
self.assertEquals(serial_connection.port, str(updated_serial_connection.port))
831831
self.assertEquals(serial_connection.baudrate, updated_serial_connection.baudrate)
832-
self.assertEquals(serial_connection.parity, updated_serial_connection.parity)
832+
self.assertEquals(serial_connection.parity, str(updated_serial_connection.parity))
833833
self.assertEquals(serial_connection.stopbits, updated_serial_connection.stopbits)
834834
self.assertEquals(serial_connection.bytesize, updated_serial_connection.bytesize)

tests/mlc/individual/test_individual.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def test_crossover_same_level_0(self):
107107
individual_1 = Individual("(root (cos 5.046))", Config.get_instance())
108108
individual_2 = Individual("(root (cos 5.046))", Config.get_instance())
109109

110-
new_ind_1, new_ind_2 = individual_1.crossover(individual_2)
110+
new_ind_1, new_ind_2, _ = individual_1.crossover(individual_2)
111111

112112
self._assert_individual(new_ind_1, complexity=4,
113113
value="(root (cos 5.046))",
@@ -120,7 +120,7 @@ def test_crossover_same_level_0(self):
120120
def test_crossover_same_level_2(self):
121121
individual_1 = Individual("(root (cos (* (+ (* -1.912 -9.178) (cos S0)) 3.113)))", Config.get_instance())
122122
individual_2 = Individual("(root (cos (* (+ (* -1.912 -9.178) (cos S0)) 3.113)))", Config.get_instance())
123-
new_ind_1, new_ind_2 = individual_1.crossover(individual_2)
123+
new_ind_1, new_ind_2, _ = individual_1.crossover(individual_2)
124124

125125
self._assert_individual(new_ind_1, complexity=8,
126126
value="(root (cos (* (* -1.912 -9.178) 3.113)))",
@@ -135,13 +135,13 @@ def test_crossover_same_level_4(self):
135135
individual_2 = Individual("(root S0)", Config.get_instance())
136136

137137
try:
138-
new_ind_1, new_ind_2 = individual_1.crossover(individual_2)
138+
new_ind_1, new_ind_2, _ = individual_1.crossover(individual_2)
139139
self.assertFalse(True, "crossover with individual type 4 should fail")
140140
except OperationOverIndividualFail, ex:
141141
self.assertTrue(True)
142142

143143
def test_crossover_same_individual(self):
144-
new_ind_1, new_ind_2 = self._individual_l2.crossover(self._individual_l2)
144+
new_ind_1, new_ind_2, _ = self._individual_l2.crossover(self._individual_l2)
145145

146146
self._assert_individual(new_ind_1, complexity=8,
147147
value="(root (cos (* (* -1.912 -9.178) 3.113)))",
@@ -153,7 +153,7 @@ def test_crossover_same_individual(self):
153153

154154
def test_crossover_different_levels_2_3(self):
155155
# self._engine.rand('seed', 40.0, nargout=0)
156-
new_ind_1, new_ind_2 = self._individual_l2.crossover(self._individual_l3)
156+
new_ind_1, new_ind_2, _ = self._individual_l2.crossover(self._individual_l3)
157157

158158
self._assert_individual(new_ind_1, complexity=8,
159159
value="(root (cos (* (- -8.815 -3.902) 3.113)))",
@@ -164,7 +164,7 @@ def test_crossover_different_levels_2_3(self):
164164
formal="my_log((my_div((sin(4.37) .* (((-1.912) .* (-9.178)) + cos(S0))),my_log((2.025 + (-8.685))))))")
165165

166166
# make another to crossover in order to check randomness
167-
new_ind_1, new_ind_2 = self._individual_l2.crossover(self._individual_l3)
167+
new_ind_1, new_ind_2, _ = self._individual_l2.crossover(self._individual_l3)
168168

169169
self._assert_individual(new_ind_1, complexity=8,
170170
value="(root (log (+ 2.025 -8.685)))",
@@ -176,7 +176,7 @@ def test_crossover_different_levels_2_3(self):
176176

177177
def test_crossover_different_levels_0_3(self):
178178
# self._engine.rand('seed', 40.0, nargout=0)
179-
new_ind_1, new_ind_2 = self._individual_l0.crossover(self._individual_l3)
179+
new_ind_1, new_ind_2, _ = self._individual_l0.crossover(self._individual_l3)
180180

181181
self._assert_individual(new_ind_1, complexity=3,
182182
value="(root (- -8.815 -3.902))",

0 commit comments

Comments
 (0)