class RouletteWheelSelectionTest(unittest.TestCase): """Test selection using a roulette wheel selection scheme. """ def setUp(self): self.selector = RouletteWheelSelection(NoMutation(), NoCrossover(), NoRepair()) def test_select_best(self): """Ensure selection of a best organism in a population of 2. """ worst_genome = MutableSeq("0", TestAlphabet()) worst_org = Organism(worst_genome, test_fitness) better_genome = MutableSeq("1", TestAlphabet()) better_org = Organism(better_genome, test_fitness) new_pop = self.selector.select([worst_org, better_org]) for org in new_pop: assert org == better_org, "Worse organism unexpectly selected." def test_selection(self): """Test basic selection on a small population. """ pop = [random_organism() for org_num in range(50)] new_pop = self.selector.select(pop) assert len(new_pop) == len(pop), "Did not maintain population size."
class RouletteWheelSelectionTest(unittest.TestCase): """Test selection using a roulette wheel selection scheme. """ def setUp(self): self.selector = RouletteWheelSelection(NoMutation(), NoCrossover(), NoRepair()) def test_select_best(self): """Ensure selection of a best organism in a population of 2. """ worst_genome = MutableSeq("0", TestAlphabet()) worst_org = Organism(worst_genome, test_fitness) better_genome = MutableSeq("1", TestAlphabet()) better_org = Organism(better_genome, test_fitness) new_pop = self.selector.select([worst_org, better_org]) for org in new_pop: self.assertEqual(org, better_org, "Worse organism unexpectly selected.") def test_selection(self): """Test basic selection on a small population. """ pop = [random_organism() for org_num in range(50)] new_pop = self.selector.select(pop) self.assertEqual(len(new_pop), len(pop), "Did not maintain population size.")
def setUp(self): self.selector = RouletteWheelSelection(NoMutation(), NoCrossover(), NoRepair())