class TestReplacementDeleteWorst(unittest.TestCase): def setUp(self): self.fitness_list = FitnessList(MAX) self.fitness_list.extend([[1.5, 0], [2.5, 1], [12.0, 2]]) self.repl = ReplacementDeleteWorst(self.fitness_list, replacement_count=1) def test_classinit_(self): self.assertEqual(1, self.repl._replacement_count) self.assertEqual(MIN, self.repl._selection_type) def test_set_replacement_count(self): self.repl.set_replacement_count(2) self.assertEqual(2, self.repl._replacement_count) self.repl.set_replacement_count(3) self.assertEqual(3, self.repl._replacement_count) self.assertRaises(ValueError, self.repl.set_replacement_count, 4) def test_select(self): # attempting to maximize remove worst 3 self.repl.set_replacement_count(3) values = [i for i in self.repl.select()] self.assertLessEqual( self.repl._fitness_list[values[0]][0], self.repl._fitness_list[values[1]][0], ) self.assertLessEqual( self.repl._fitness_list[values[1]][0], self.repl._fitness_list[values[2]][0], ) # attempting to minimize remove worst 3 self.fitness_list = FitnessList(MIN) values = [i for i in self.repl.select()] self.assertGreaterEqual( self.repl._fitness_list[values[0]][0], self.repl._fitness_list[values[1]][0], ) self.assertGreaterEqual( self.repl._fitness_list[values[1]][0], self.repl._fitness_list[values[2]][0], )
class TestReplacementDeleteWorst(unittest.TestCase): def setUp(self): self.fitness_list = FitnessList(MAX) self.fitness_list.extend([[1.5, 0], [2.5, 1], [12.0, 2]]) self.repl = ReplacementDeleteWorst(self.fitness_list, replacement_count=1) def test_classinit_(self): self.assertEqual(1, self.repl._replacement_count) self.assertEqual(MIN, self.repl._selection_type) def test_set_replacement_count(self): self.repl.set_replacement_count(2) self.assertEqual(2, self.repl._replacement_count) self.repl.set_replacement_count(3) self.assertEqual(3, self.repl._replacement_count) self.assertRaises(ValueError, self.repl.set_replacement_count, 4) def test_select(self): # attempting to maximize remove worst 3 self.repl.set_replacement_count(3) values = [i for i in self.repl.select()] self.assertLessEqual(self.repl._fitness_list[values[0]][0], self.repl._fitness_list[values[1]][0]) self.assertLessEqual(self.repl._fitness_list[values[1]][0], self.repl._fitness_list[values[2]][0]) # attempting to minimize remove worst 3 self.fitness_list = FitnessList(MIN) values = [i for i in self.repl.select()] self.assertGreaterEqual(self.repl._fitness_list[values[0]][0], self.repl._fitness_list[values[1]][0]) self.assertGreaterEqual(self.repl._fitness_list[values[1]][0], self.repl._fitness_list[values[2]][0])