def test_if_returns_best_phenotype(): pop = Population(mock_params, mock_judge, 1, 5) ph1 = Phenotype(3) ph2 = Phenotype(3) ph3 = Phenotype(3) ph1.genes = [True, True, True] ph2.genes = [True, False, False] ph3.genes = [False, False, False] mock_judge.goal_eval(1, 5, ph1) mock_judge.goal_eval(1, 5, ph2) mock_judge.goal_eval(1, 5, ph3) pop.push_phenotype(ph1) pop.push_phenotype(ph2) pop.push_phenotype(ph3) assert pop.get_the_best_error() == [True, False, False]
def test_if_correctly_evals_zero_on_perfect_match(): judge = Judge([1, 2, 3]) ph1 = Phenotype(3) ph1.genes = [True, True, True] assert judge.goal_eval(6, 0, ph1) == 0
def test_if_correctly_evals_error(): judge = Judge([1, 2, 3]) ph1 = Phenotype(3) ph1.genes = [True, False, False] assert judge.goal_eval(6, 0, ph1) == 50