Files
Multi_Swarm_Coevolutive/tests/unit/test_ga_initial.py
T
Adriano Dal Pastro b6539802e0 refactor(layout): rename multi_swarm → multi_swarm_core con doppia nidificazione uv workspace
- mv src/multi_swarm → src/multi_swarm_core/multi_swarm_core (member layout)
- sed-replace globale degli import: from/import multi_swarm.* → multi_swarm_core.*
- 115 occorrenze aggiornate in src/ scripts/ tests/
- multi_swarm_coevolutive (nome repo) preservato dal word boundary

Pre-condizione per il setup uv workspace della Fase 3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 17:43:48 +00:00

28 lines
918 B
Python

import random
from multi_swarm_core.ga.initial import build_initial_population
from multi_swarm_core.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)