acdream/tests
Erik 8d3c6ad7c3 fix(vtank): slice 7 fix round B item 16 — small ones (dedupe, tab-switch cleanup, slider validation)
Three small, unrelated fixes bundled per the fix round's own item list
(the fourth, cropping the three popup screenshots to the panel, belongs to
the live-capture pass, item 17):

- SortedCombatItemNames(): one shared helper for the ordinal-sorted
  registered weapon roster, replacing five separate identical
  `_combatSettings.CombatItemNames.OrderBy(...).ToArray()` call sites
  (RefreshItemEditors, DeleteItemRowAtCore, CycleItemHandsAtCore,
  RemoveSelectedItemCore, CycleMonsterEquipmentAt).
- SelectTab already cleared LootEditorVisible/AdvancedOptionsVisible when
  the user switched tabs (fix round A). The buff picker (S7.4) and the
  Meta rule editor (item 5) are the same "own popup, own window" shape and
  were missing from that guard — switching away from Buffs or Meta while
  either popup was open left it orphaned, open over whatever tab the user
  switched to. Both flags now clear in SelectTab too.
- <slider min max>: max<=min used to silently fall back to a range of 1
  (the old `range == 0f` check, covering only max==min) or produce a
  slider whose drag direction is inverted from its declared range
  (max<min, never caught at all). Both are now a build-time
  FormatException, the same rule every other <slider>/<menu>
  attribute-format check in this file already follows.

New tests: SwitchingTabsClosesTheBuffPickerAndMetaEditorPopups,
Build_SliderWithMaxLessThanOrEqualToMin_Throws (both max<min and
max==min cases). Mutation checks: removing the two SelectTab clears
turned the first red ("Expected: False, Actual: True"); reverting the
slider validation to the old range==0f fallback turned both Theory cases
of the second red ("No exception was thrown"). Both restored to green.

tests/AcDream.Plugins.MossTank.Tests: 676/676 (was 675/675, +1).
tests/AcDream.App.Tests --filter Markup|Plugin|UiMenu|Slider: 285/3 skipped/288 (was 283/3/286, +2: the new Theory's 2 cases).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 14:09:58 +02:00
..
AcDream.App.Tests fix(vtank): slice 7 fix round B item 16 — small ones (dedupe, tab-switch cleanup, slider validation) 2026-09-07 14:09:58 +02:00
AcDream.Bake.Tests Optimize prepared asset package v2 2026-08-27 20:09:09 +02:00
AcDream.Cli.Tests build: make release restore reproducible 2026-08-18 10:29:00 +02:00
AcDream.Content.Tests fix(rendering): carry retail SetSurface state to detail draws 2026-09-05 02:03:13 +02:00
AcDream.Core.Net.Tests fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
AcDream.Core.Tests fix(vt): F host-composed VtankProfiles storage replaces raw path string 2026-09-06 23:03:04 +02:00
AcDream.Core.Tests.Fixtures.HelloPlugin feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Headless.Tests test(headless): the console's unknown-verb pin follows AD-124 — chat scroll, not SpewBox 2026-09-07 08:27:39 +02:00
AcDream.Launcher.Core.Tests fix(rendering): carry retail SetSurface state to detail draws 2026-09-05 02:03:13 +02:00
AcDream.Launcher.Core.Tests.Fixtures.ConsolelessSupervisorParent build: make release restore reproducible 2026-08-18 10:29:00 +02:00
AcDream.Launcher.Core.Tests.Fixtures.ConsoleSignalChild build: make release restore reproducible 2026-08-18 10:29:00 +02:00
AcDream.Launcher.Core.Tests.Fixtures.InstallLeaseHolder feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Launcher.Tests Optimize prepared asset package v2 2026-08-27 20:09:09 +02:00
AcDream.Platform.Tests feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Plugin.Tests.Fixtures.HostPlugin feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Plugin.Tests.Fixtures.InvalidRenderPackInternal feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Plugin.Tests.Fixtures.InvalidRenderPackMultiple feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Plugins.MossTank.Tests fix(vtank): slice 7 fix round B item 16 — small ones (dedupe, tab-switch cleanup, slider validation) 2026-09-07 14:09:58 +02:00
AcDream.RenderPackValidator.Tests feat(render): shader ABI v2 - AtmosphericFrame gains clock/wind blocks; caster pass binds it (Campaign VM VM6a) 2026-08-23 00:30:02 +02:00
AcDream.Runtime.Tests fix #363/#367: route unknown-command refusals to chat, not SpewBox 2026-09-07 08:22:06 +02:00
AcDream.UI.Abstractions.Tests fix #363: route plugin system text to the chat window, not SpewBox 2026-09-07 08:22:22 +02:00
Fixtures/campaign-la feat(plugins): enforce apiVersion; launcher plugins default ON with "none" opt-out 2026-08-20 21:28:04 +02:00
Directory.Build.props fix: retail text and golden-string tests must not follow the machine's locale 2026-08-19 19:56:09 +02:00
TestCultureInitializer.cs fix: retail text and golden-string tests must not follow the machine's locale 2026-08-19 19:56:09 +02:00