QoL and metric value inverter

This commit is contained in:
2026-03-04 11:10:45 -06:00
parent 8dfe3607b1
commit f57ac7d6dc
30 changed files with 556 additions and 118 deletions

View File

@@ -10,7 +10,7 @@ def test_compatible_ground_combo(bicycle, human_pedalling):
resolver = ConstraintResolver()
combo = Combination(entities=[bicycle, human_pedalling])
result = resolver.resolve(combo)
assert result.status != "blocked", f"Unexpected block: {result.violations}"
assert result.status != "p1_fail", f"Unexpected block: {result.violations}"
def test_solar_sail_blocks_with_walking(walking, solar_sail):
@@ -18,7 +18,7 @@ def test_solar_sail_blocks_with_walking(walking, solar_sail):
resolver = ConstraintResolver()
combo = Combination(entities=[walking, solar_sail])
result = resolver.resolve(combo)
assert result.status == "blocked"
assert result.status == "p1_fail"
assert any("mutually exclusive" in v for v in result.violations)
@@ -37,7 +37,7 @@ def test_nuclear_reactor_blocks_with_bicycle(bicycle, nuclear_reactor):
resolver = ConstraintResolver()
combo = Combination(entities=[bicycle, nuclear_reactor])
result = resolver.resolve(combo)
assert result.status == "blocked"
assert result.status == "p1_fail"
assert any("mass" in v.lower() for v in result.violations)
@@ -58,7 +58,7 @@ def test_force_scale_mismatch_blocks():
resolver = ConstraintResolver()
combo = Combination(entities=[platform, power])
result = resolver.resolve(combo)
assert result.status == "blocked"
assert result.status == "p1_fail"
assert any("force deficit" in v for v in result.violations)
@@ -80,7 +80,7 @@ def test_force_under_powered_warning():
combo = Combination(entities=[platform, power])
result = resolver.resolve(combo)
# Under-powered but within 100x → warning, not block
assert result.status != "blocked"
assert result.status != "p1_fail"
assert any("under-powered" in w for w in result.warnings)
@@ -97,7 +97,7 @@ def test_requires_vs_excludes():
resolver = ConstraintResolver()
combo = Combination(entities=[a, b])
result = resolver.resolve(combo)
assert result.status == "blocked"
assert result.status == "p1_fail"
assert any("excludes" in v for v in result.violations)
@@ -106,7 +106,7 @@ def test_ice_engine_blocks_with_spaceship(spaceship, ice_engine):
resolver = ConstraintResolver()
combo = Combination(entities=[spaceship, ice_engine])
result = resolver.resolve(combo)
assert result.status == "blocked"
assert result.status == "p1_fail"
assert any("atmosphere" in v for v in result.violations)
@@ -138,7 +138,7 @@ def test_energy_density_deficit_blocks():
resolver = ConstraintResolver()
combo = Combination(entities=[platform, power])
result = resolver.resolve(combo)
assert result.status == "blocked"
assert result.status == "p1_fail"
assert any("energy density deficit" in v for v in result.violations)
@@ -159,7 +159,7 @@ def test_energy_density_under_density_warning():
resolver = ConstraintResolver()
combo = Combination(entities=[platform, power])
result = resolver.resolve(combo)
assert result.status != "blocked"
assert result.status != "p1_fail"
assert any("under-density" in w for w in result.warnings)