def test_sort_population(optim): ga = StandardGA(fitness_test_sin_func, optim=optim) ga.population = list(unsorted_population) ga._sort_population() required_population = sort_population(optim, list(unsorted_population)) assert ga.population == required_population
def test_extend_population(): ga = StandardGA(fitness_test_sin_func, optim='min') ga.population = [IndividualGA(1, 100)] new_elems = [IndividualGA(2, 50), IndividualGA(3, 150)] ga.extend_population(new_elems) assert ga.best_solution == (2, 50) result = [] for i, individ in zip(range(len(ga.population)), ga.population): result.append((individ.chromosome, individ.fitness_val)) assert result == [(3, 150), (1, 100), (2, 50)]