Aetheria/tests/Aetheria.Shared.Tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 74d2cf8fc4 Power bus: a consumer its thermostat has closed is not billed
The bus billed every active IPowerConsumer, but a behaviour group stops at its
Thermotoggle: a heater above its target never runs its EnergyDraw, yet its
full draw (1000-2500/s) was charged every tick. On an idle station that kept
the reactor in permanent deficit, overloading at overload efficiency. The bus
now skips a consumer whose group has a closed thermostat ahead of it, the same
rule it already applies to inactive items; Thermotoggle.Open is the one
statement of when a thermostat is open, and Execute returns it.

Tests (Soul's F2; S17 survived before): from a hull at one uniform temperature,
one tick below the heater's target raises its cells and one above does not, so
the heater's own contribution is measured with no reactor heat in it; and the
bus bills the heater's draw below its target and not above.

This does not keep an idle station warm (Soul's F1, reported separately): the
reactor's throttled idle heat alone still drives it past its plateau.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:46:30 +02:00
..
Aetheria.Shared.Tests.csproj Cut 1 fix batch 3 (F1): load real GameplaySettings, fix the speed-cap test 2026-09-26 01:48:58 +02:00
AetheriaStoresTests.cs Fused rounds fire out of arc; safe fuse; proximity misses type as Burst 2026-09-29 16:27:46 +02:00
BaseStateTests.cs BaseState: an includeChildren walk keeps its state in locals 2026-09-30 15:12:41 +02:00
BrownoutTests.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
CapabilityEventsTests.cs Test that capability events route only to their own kind's subscribers 2026-09-17 14:37:07 +02:00
ConditionRatioTests.cs Cut 8: pin ConditionRatio -- perfect/dead/durability/heat/power/force-unchanged 2026-09-19 04:41:43 +02:00
FireAuthorityTests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut4Tests.cs Cut 12.4(b): Detonate replaces Splash and Entity.Absorb 2026-09-26 01:17:36 +02:00
FireControlCut5Tests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut6cTests.cs Fire control Cut 6c.1/6c.2: Resolution becomes reciprocal, targeting degrades instead of throwing 2026-09-19 18:31:46 +02:00
FireControlCut6dTests.cs Cut 12.2: where a hit lands is priced and drawn from one silhouette 2026-09-24 20:40:50 +02:00
FireControlCut6Tests.cs Cut 12.4(b): Detonate replaces Splash and Entity.Absorb 2026-09-26 01:17:36 +02:00
FireControlCut7Tests.cs Cut 12.2: where a hit lands is priced and drawn from one silhouette 2026-09-24 20:40:50 +02:00
FireControlCut8Tests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut9Tests.cs Fuse fixes: arming holds for every burst, no-lock rounds stop on the first hull, settle before user code 2026-09-29 20:31:59 +02:00
FireControlCut11Tests.cs Arming distance: no round bursts nearer than its blast radius past the shooter's hull 2026-09-29 17:05:14 +02:00
FireControlCut12Tests.cs Fire control 12.4 fix batch F5: measure the steady state, not the first window 2026-09-29 04:17:43 +02:00
FireControlCut123Tests.cs Cut 12.4(b): Detonate replaces Splash and Entity.Absorb 2026-09-26 01:17:36 +02:00
FireControlCut124Tests.cs Scenarios content: delete five industrial placeholders; products for four weapons and the heater 2026-09-30 15:45:18 +02:00
FireControlPerWeaponTests.cs Gate a charged weapon's Activate on CanFire, and start a burst's cooldown with the tick it flew in 2026-09-29 22:15:51 +02:00
FireControlTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
HeatResponseTests.cs Cut 1: close S5/S6's validation gaps, pin S7's surviving mutants 2026-09-18 18:42:10 +02:00
IffAndCombatTests.cs Give the stance-test gun a burst and a cooldown 2026-09-29 21:35:53 +02:00
InputCapacitorTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
LoadoutTests.cs Scenarios Cut 1: Materialize builds product-less designs unbranded; the hull picks the entity 2026-09-30 12:33:00 +02:00
PlayerSettingsSensitivityTests.cs Move mouse-look sensitivity into the PlayerSettings CultCache global 2026-09-17 17:22:09 +02:00
PowerBusTests.cs F2: gate the bus's reactors and consumers on Active, not Online 2026-09-19 05:06:31 +02:00
PowerCurveTests.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
PowerTierTests.cs F3: an empty tier is not a satisfied tier, and sub-epsilon demand pays its way 2026-09-19 05:15:30 +02:00
RestoredHullsTests.cs One loose fit rule for hardpoint gear 2026-09-30 20:46:28 +02:00
RoleAuthoringTests.cs Cut 7: refuse a stat naming a role its design lacks 2026-09-19 05:01:17 +02:00
RunSaveTests.cs Delete the persisted-behaviors feature per operator ruling 2026-09-17 05:44:37 +02:00
RunStartTests.cs Power bus: a consumer its thermostat has closed is not billed 2026-09-30 20:46:30 +02:00
SafeAssert.cs Scenarios Cut 1: a failed staging reports what it admitted, not a crash 2026-09-30 14:59:50 +02:00
ShieldReserveTests.cs F4/F5: shield restore survives inactivity, and CanTakeHit stops mutating 2026-09-19 05:32:29 +02:00
StatResolverTests.cs Pin Gate 1, Gate 2 and F8's mutant fix with tests and mutations 2026-09-18 20:42:05 +02:00
stryker-config.json Cut 11 map: mutation testing moves to Stryker, and the survivors it found 2026-09-22 15:59:06 +02:00
TargetingSystemTests.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00