def test_perform_replacements(self): # Existing fitness list #[[0.5, 0], [1.5, 1], [2.5, 2], [3.5, 3], [4.5, 4]] # make some replacement selections # This should replace the member_no 4 self.ges.fitness_list.set_fitness_type(MIN) self.ges.set_replacement_selections( ReplacementDeleteWorst(self.ges.fitness_list, 1)) # make a fitness pool new_member = deepcopy(self.ges.population[2]) new_member.local_bnf['<IAMNEW>'] = ['yes i am'] orig_member_no = new_member.member_no fitness_pool = [new_member] # do the replacements self.ges._perform_replacements(fitness_pool) # did replacement take place self.assertEqual('yes i am', self.ges.population[4].local_bnf['<IAMNEW>'][0]) # was the local bnf for each replaced member update for new member no self.assertEqual(4, self.ges.population[4].member_no) # was the generation number bumped up by one self.assertEqual(1, self.ges.population[4]._generation)
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)