seeding expansion
also: replace energy output with energy output density
This commit is contained in:
@@ -41,39 +41,39 @@ def test_nuclear_reactor_blocks_with_bicycle(bicycle, nuclear_reactor):
|
||||
assert any("mass" in v.lower() for v in result.violations)
|
||||
|
||||
|
||||
def test_force_scale_mismatch_blocks():
|
||||
"""A platform needing 1MW and a power source providing 1W → force deficit block."""
|
||||
def test_power_density_mismatch_blocks():
|
||||
"""A platform needing 500 W/kg and a source providing 0.01 W/kg → block."""
|
||||
platform = Entity(
|
||||
name="HeavyPlatform", dimension="platform",
|
||||
dependencies=[
|
||||
Dependency("force", "force_required_watts", "1000000", "watts", "range_min"),
|
||||
Dependency("force", "power_density_required_w_kg", "500", "W/kg", "range_min"),
|
||||
],
|
||||
)
|
||||
power = Entity(
|
||||
name="TinyPower", dimension="power_source",
|
||||
dependencies=[
|
||||
Dependency("force", "force_output_watts", "1", "watts", "provides"),
|
||||
Dependency("force", "power_density_w_kg", "0.01", "W/kg", "provides"),
|
||||
],
|
||||
)
|
||||
resolver = ConstraintResolver()
|
||||
combo = Combination(entities=[platform, power])
|
||||
result = resolver.resolve(combo)
|
||||
assert result.status == "p1_fail"
|
||||
assert any("force deficit" in v for v in result.violations)
|
||||
assert any("power density deficit" in v for v in result.violations)
|
||||
|
||||
|
||||
def test_force_under_powered_warning():
|
||||
def test_power_density_under_powered_warning():
|
||||
"""Power source slightly below requirement → warning, not block."""
|
||||
platform = Entity(
|
||||
name="MedPlatform", dimension="platform",
|
||||
dependencies=[
|
||||
Dependency("force", "force_required_watts", "1000", "watts", "range_min"),
|
||||
Dependency("force", "power_density_required_w_kg", "100", "W/kg", "range_min"),
|
||||
],
|
||||
)
|
||||
power = Entity(
|
||||
name="WeakPower", dimension="power_source",
|
||||
dependencies=[
|
||||
Dependency("force", "force_output_watts", "500", "watts", "provides"),
|
||||
Dependency("force", "power_density_w_kg", "50", "W/kg", "provides"),
|
||||
],
|
||||
)
|
||||
resolver = ConstraintResolver()
|
||||
@@ -175,7 +175,7 @@ def test_energy_density_no_constraint_if_no_provider():
|
||||
power = Entity(
|
||||
name="Solar Sail", dimension="power_source",
|
||||
dependencies=[
|
||||
Dependency("force", "force_output_watts", "1", "watts", "provides"),
|
||||
Dependency("force", "power_density_w_kg", "0.01", "W/kg", "provides"),
|
||||
],
|
||||
)
|
||||
resolver = ConstraintResolver()
|
||||
|
||||
Reference in New Issue
Block a user