acdream/tests/AcDream.Plugins.MossTank.Tests
Erik 6b42fd68ed test(vtank): slice 7 fix round C item F13 — drop the control-count change detector
EveryInteractiveControlDeclaresARealHandlerBinding asserted an exact
Assert.Equal(156, controls.Length), backed by ~60 lines of running
commentary recording every markup edit that ever bumped the number. That
count was a pure change detector: it carried no signal the test's own
per-control handler/enabled loop couldn't already catch on its own, and
it forced an edit to THIS test file every time an unrelated tab gained
or lost a single control.

Replaced the exact count with Assert.NotEmpty(controls) — it still
guards the selector itself (a broken interactive-element-name filter
that matched nothing would otherwise pass the loop vacuously) — and kept
the real assertion (the per-control handler/enabled loop) unchanged.
Moved the removed count's full history into this same commit's ledger
entry in docs/plans/2026-09-07-campaign-vt-slice7-tabs.md, per item
F13's own instruction.

Mutation named: temporarily broke the controls selector (appended
`&& false` to the interactive-element filter) and confirmed
Assert.NotEmpty fails ("Collection was empty") before restoring it.

MossTank suite holds at 678 (no test added or removed, one assertion
replaced). Full solution build green; App markup/plugin filter 203/203.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 15:46:33 +02:00
..
Fixtures/vtank feat(vt): A1 .usd engine + A3 metaf .af engine, real VTank/metas fixtures 2026-09-06 20:52:51 +02:00
AcDream.Plugins.MossTank.Tests.csproj refactor(vtank): slice 7 fix round B item 13 — glob mosstank*.xml everywhere it's named 2026-09-07 11:53:01 +02:00
AttackSpellCatalogTests.cs fix(vt): model UseArcs as VTank's real 3-way enum, not a collapsed bool 2026-09-06 21:47:03 +02:00
AutoAttackPowerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
BuffPlanTests.cs feat: regen buffs, wand aura, spellbook assess, indicator press flash 2026-08-20 20:38:28 +02:00
CombatControllerTests.cs feat(mosstank): buff-caster preparer and single idle-peace arbiter — wield from the Items profile, enter magic/peace mode by itself 2026-09-06 19:02:18 +02:00
CombatFailureTrackerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
CombatItemDebuffPlannerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
CraftingTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
DebuffSchedulerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
DispelControllerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ExpressionEngineTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
FellowshipManagerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
GrenadeCatalogTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
HostExpressionFunctionsTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
InventoryMaintenanceTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ItemManaRechargeTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
LootingTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MetaEngineTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MetafSerializerTests.cs fix(vtank): TryLoadNav refuses any STATE: block instead of skipping it 2026-09-07 07:11:33 +02:00
MetaViewManagerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MonsterExpressionTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MossTankMarkupContractTests.cs test(vtank): slice 7 fix round C item F13 — drop the control-count change detector 2026-09-07 15:46:33 +02:00
MossTankPanelTests.cs fix(vtank): slice 7 fix round C items F7+F12 — materialize ItemHandsColumn once 2026-09-07 15:37:26 +02:00
MossTankProfileStoreSideCarTests.cs fix(vt): round 3 item 1 — drop-in .usd EnableLooting no longer clobbered 2026-09-07 01:03:47 +02:00
NavigationTests.cs feat(vtank): slice 1c step 3 — content sanity refuses misplaced af files 2026-09-07 06:43:34 +02:00
packages.neutral.lock.json feat(plugins): MossTank — a self-buffing plugin, and the automation surface it needed 2026-08-20 16:22:28 +02:00
PetAutomationTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ProfileGiveControllerTests.cs feat(vt): round 3 item 9 — loot cutover to real .utl (consistency with the other three) 2026-09-07 01:51:34 +02:00
VitalPlanTests.cs feat(mosstank): banes, protections and weapon auras 2026-08-20 19:49:51 +02:00
VitalRechargeTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankAmmunitionDatabaseTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankDamageDatabaseTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankLootProfileSerializerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankLootRequirementEvaluatorTests.cs fix(vt): H test-restoration + disabled-rule refusal + double-side gate 2026-09-06 23:20:20 +02:00
VtankMetaProfileSerializerTests.cs fix(vt): H test-restoration + disabled-rule refusal + double-side gate 2026-09-06 23:20:20 +02:00
VtankNavRouteSerializerTests.cs fix(vt): A ptl/tlk carry two coordinate triples, jmp direction loss recorded 2026-09-06 22:13:48 +02:00
VtankProfileDirectoryTests.cs feat(vtank): slice 1c step 1 — two-folder metas/navs layout, no nav_ marker 2026-09-07 06:32:56 +02:00
VtankSettingsProfileSerializerTests.cs fix(vt): I widen tDouble-declared distance fields from float to double 2026-09-06 23:27:09 +02:00
VtankUsdDocumentTests.cs test(vt): round 3 item 8 — nav byte-identity coverage + s-cell strip + .ast round-trip 2026-09-07 01:38:56 +02:00