using AcDream.App.UI.Layout; using AcDream.UI.Abstractions.Input; namespace AcDream.App.Tests.UI.Layout; public sealed class ToolbarInputControllerTests { [Theory] [InlineData(InputAction.UseQuickSlot_1, 0, true)] [InlineData(InputAction.UseQuickSlot_9, 8, true)] [InlineData(InputAction.SelectQuickSlot_1, 0, false)] [InlineData(InputAction.SelectQuickSlot_9, 8, false)] [InlineData(InputAction.UseQuickSlot_14, 13, true)] [InlineData(InputAction.UseQuickSlot_18, 17, true)] public void ShortcutActions_mapRetailSlotAndIntent(InputAction action, int slot, bool use) { Assert.True(ToolbarInputController.TryMapShortcut(action, out int actualSlot, out bool actualUse)); Assert.Equal(slot, actualSlot); Assert.Equal(use, actualUse); } [Theory] [InlineData(InputAction.CreateShortcut)] [InlineData(InputAction.CombatToggleCombat)] [InlineData(InputAction.ToggleChatEntry)] public void NonSlotActions_doNotMapAsShortcut(InputAction action) { Assert.False(ToolbarInputController.TryMapShortcut(action, out int slot, out bool use)); Assert.Equal(-1, slot); Assert.False(use); } }