split actuators from energy storage

This commit is contained in:
2026-03-04 14:18:52 -06:00
parent e99a14d087
commit 216879bdd5
13 changed files with 601 additions and 681 deletions

View File

@@ -7,20 +7,21 @@ from physcom.models.entity import Entity
def test_generates_cartesian_product(seeded_repo):
from physcom.seed.transport_example import PLATFORMS, POWER_SOURCES
from physcom.seed.transport_example import PLATFORMS, ACTUATORS, ENERGY_STORAGES
combos = generate_combinations(seeded_repo, ["platform", "power_source"])
expected = len(PLATFORMS) * len(POWER_SOURCES)
combos = generate_combinations(seeded_repo, ["platform", "actuator", "energy_storage"])
expected = len(PLATFORMS) * len(ACTUATORS) * len(ENERGY_STORAGES)
assert len(combos) == expected
def test_each_combo_has_one_per_dimension(seeded_repo):
combos = generate_combinations(seeded_repo, ["platform", "power_source"])
combos = generate_combinations(seeded_repo, ["platform", "actuator", "energy_storage"])
for combo in combos:
dims = [e.dimension for e in combo.entities]
assert "platform" in dims
assert "power_source" in dims
assert len(combo.entities) == 2
assert "actuator" in dims
assert "energy_storage" in dims
assert len(combo.entities) == 3
def test_missing_dimension_raises(seeded_repo):