示例#1
0
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."
示例#2
0
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."