Aetheria/tests/Aetheria.Shared.Tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 95394f786f Cut 1 fix batch 3 (F6 N2, F7): entrance-widening leak test, robust orbit counting, real enemy-count check
F6/N2: added WideningDoesNotLeakToANonEntranceNoLagrangeZoneThatRollsAStation.
Seed 3's "EAC-7089" (the same no-Lagrange fixture the widened-candidate test
uses) naturally has no genuine Lagrange candidate; boosting one faction's
presence there via the same public SavedGame round trip
BuildGalaxyWithForcedEntrance uses makes its station-count roll nonzero
without touching ZoneGenerator's private RNG. Verified directly: dropping
ZoneGenerator's isTutorialEntrance guard on the widening condition turns
this fixture's station count from 0 into 2, so the fixture genuinely
exercises the leak path this test pins closed.

F7: fixed the leak test's comment (the widened-candidate fixture is seed 3,
not seed 1, so it no longer claims to share a fixture with a test that
doesn't). ForcedTutorialEntranceStationDoesNotInflateEnemyCount asserted
shipCount == 2, which was pinning TutorialZoneSettings' own default
NeutralWandererCount (2), not the enemy roll baseStationCount gates -- it
now filters ShipPacks by the same nearest-faction ZoneGenerator computes
internally (EntityPack.Faction), asserting the real enemy count (0) instead.

Also (Soul's finding): IsRosetteMember's planet-orbit count
(pack.Orbits.Count minus the OrbitalEntityPack count) over-counts whenever
a station or turret loadout generator returns null, since
CreateLagrangeOrbit already appended that orbit before the null check
skips adding the entity. It now derives the set from pack.Planets' own
Orbit refs directly (Census.cs's own approach), which sidesteps the bug
entirely.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 02:15:24 +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 Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +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 Cut 11.3: fix the degenerate fixtures that made mutants indistinguishable 2026-09-22 16:20:45 +02:00
FireControlCut4Tests.cs Cut 11 second round: one owner for PBase, and tests for what the 51 survivors showed 2026-09-22 16:39:52 +02:00
FireControlCut5Tests.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +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 6d: tests for the dart-throw kernel invariants 2026-09-19 21:52:56 +02:00
FireControlCut6Tests.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00
FireControlCut7Tests.cs Cut 7.1/7.4: the reveal re-check pin and the live-catalog test 2026-09-19 19:33:09 +02:00
FireControlCut8Tests.cs Cut 8: a removed entity is a dead entity, and re-anchor the stranded mutations 2026-09-22 00:50:57 +02:00
FireControlCut9Tests.cs Cut 11 second round: one owner for PBase, and tests for what the 51 survivors showed 2026-09-22 16:39:52 +02:00
FireControlCut11Tests.cs Cut 11 second round: one owner for PBase, and tests for what the 51 survivors showed 2026-09-22 16:39:52 +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 Test the IFF/grudge/detection rules and the weapon stance gate 2026-09-17 14:01:31 +02:00
InputCapacitorTests.cs Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
LoadoutTests.cs Pin the targeting subsystem, reveal rule and Q4's required-equipment rule 2026-09-19 13:03:12 +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 Cut 1 fix batch 3 (F6 N2, F7): entrance-widening leak test, robust orbit counting, real enemy-count check 2026-09-26 02:15:24 +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
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