class DiversitySelectionTest(unittest.TestCase): """Test selection trying to maximize diversity. """ def setUp(self): self.selector = DiversitySelection(NoSelection(), random_genome) def test_get_new_organism(self): """Getting a new organism not in the new population. """ org = random_organism() old_pop = [org] new_pop = [] new_org = self.selector._get_new_organism(new_pop, old_pop) assert new_org == org, "Got an unexpected organism %s" % new_org def test_no_retrieve_organism(self): """Test not getting an organism already in the new population. """ org = random_organism() old_pop = [org] new_pop = [org] new_org = self.selector._get_new_organism(new_pop, old_pop) #assert new_org != org, "Got organism already in the new population." 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."