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)
Exemplo n.º 2
0
    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)