Files
Multi_Swarm_Coevolutive/tests/unit/test_ga_initial.py
T
2026-05-09 20:22:04 +02:00

28 lines
908 B
Python

import random
from multi_swarm.ga.initial import build_initial_population
from multi_swarm.genome.hypothesis import ModelTier
def test_initial_population_size():
pop = build_initial_population(k=20, model_tier=ModelTier.C, rng=random.Random(0))
assert len(pop) == 20
def test_initial_population_unique_ids():
pop = build_initial_population(k=20, model_tier=ModelTier.C, rng=random.Random(0))
ids = {g.id for g in pop}
assert len(ids) == 20
def test_initial_population_covers_all_styles():
pop = build_initial_population(k=12, model_tier=ModelTier.C, rng=random.Random(0))
styles = {g.cognitive_style for g in pop}
assert len(styles) == 6
def test_initial_population_generation_zero():
pop = build_initial_population(k=20, model_tier=ModelTier.C, rng=random.Random(0))
assert all(g.generation == 0 for g in pop)
assert all(g.parent_ids == [] for g in pop)