Aetheria/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 881415d5e3 F2: gate the bus's reactors and consumers on Active, not Online
PowerBus.Step billed every equipped IPowerConsumer's request unconditionally
and admitted a reactor on Item.Online alone, but Entity.Update only ever runs
a behaviour's Execute when the item is Active (Enabled && Online). A consumer
the player switched off never executes and never spends anything, yet was
still billed, starving live consumers and draining capacitors for nobody. A
reactor switched off stayed Online and kept generating even though
Reactor.Execute (which produces the heat receipt) never ran for it: free,
heat-free power.

Both directions now gate on the same predicate the rest of Entity uses:
item.Active.Value.

Pinned in tests/Aetheria.Shared.Tests/PowerBusTests.cs:
DisabledConsumerContributesNoDemand and DisabledReactorGeneratesNoPower --
both fail under the reverted (Online-only / unconditional) mutation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 05:06:31 +02:00
..
Aetheria.Shared.Tests F2: gate the bus's reactors and consumers on Active, not Online 2026-09-19 05:06:31 +02:00
mutation_tests.py Un-clobber the item-provenance mutation harness; own file for this cut 2026-09-18 05:07:23 +02:00
mutation_tests_addressables_cut.py Un-clobber the item-provenance mutation harness; own file for this cut 2026-09-18 05:07:23 +02:00
mutation_tests_condition_ratio_cut8.py Cut 8: pin ConditionRatio -- perfect/dead/durability/heat/power/force-unchanged 2026-09-19 04:41:43 +02:00
mutation_tests_shield_panel_cut1.py Add the Cut 1 batchmode probe and its mutation harness 2026-09-18 06:08:24 +02:00
mutation_tests_shield_panel_cut2.py Fix ShieldManager's missing-envelope fallback regression 2026-09-18 06:45:07 +02:00
mutation_tests_shield_panel_cut3.py Add the Cut 3 batchmode probe and its mutation harness 2026-09-18 13:51:44 +02:00
mutation_tests_shield_reserve.py Pin the shield reserve ruling: 7 rules, each with a mutation 2026-09-19 02:46:26 +02:00
mutation_tests_stats_power_cut0.py Cut 0: pin the collapsed evaluation path's agreements and disagreements 2026-09-18 16:19:33 +02:00
mutation_tests_stats_power_cut1.py Cut 1: close S5/S6's validation gaps, pin S7's surviving mutants 2026-09-18 18:42:10 +02:00
mutation_tests_stats_power_cut2.py Pin Gate 1, Gate 2 and F8's mutant fix with tests and mutations 2026-09-18 20:42:05 +02:00
mutation_tests_stats_power_cut3.py Cut 4: input capacitors close the last direct capacitor spend 2026-09-18 22:52:15 +02:00
mutation_tests_stats_power_cut4.py Cut 4: input capacitors close the last direct capacitor spend 2026-09-18 22:52:15 +02:00
mutation_tests_stats_power_cut5.py Mutation harness for Cut 5's tier rules 2026-09-19 02:58:55 +02:00
mutation_tests_stats_power_cut6.py Pin Cut 6's power-curve and request-independence rules: PowerCurveTests.cs 2026-09-19 03:47:23 +02:00
mutation_tests_stats_power_cut7.py Pin Cut 7's brownout rules: BrownoutTests.cs 2026-09-19 04:11:00 +02:00