using AcDream.App.UI; namespace AcDream.App.Tests.UI; public class UiItemSlotTests { [Fact] public void IsLeafWidget() => Assert.True(new UiItemSlot().ConsumesDatChildren); [Fact] public void DefaultEmptySprite_isToolbarBorder() => Assert.Equal(0x060074CFu, new UiItemSlot().EmptySprite); [Fact] public void Empty_whenNoItem() { var s = new UiItemSlot(); Assert.Equal(0u, s.ItemId); Assert.Equal(0u, s.IconTexture); } [Fact] public void SetItem_setsIdAndTexture() { var s = new UiItemSlot(); s.SetItem(0x5001u, 0x99u); Assert.Equal(0x5001u, s.ItemId); Assert.Equal(0x99u, s.IconTexture); } [Fact] public void Clear_afterSetItem_resetsToEmpty() { var s = new UiItemSlot(); s.SetItem(0x5001u, 0x99u); s.Clear(); Assert.Equal(0u, s.ItemId); Assert.Equal(0u, s.IconTexture); } // ── Shortcut number tests ──────────────────────────────────────────────── // Port of UIElement_UIItem::SetShortcutNum (acclient_2013_pseudo_c.txt:229465). [Fact] public void ShortcutNum_defaultIsMinusOne() { var s = new UiItemSlot(); Assert.Equal(-1, s.ShortcutNum); } [Fact] public void ShortcutPeace_defaultIsTrue() { var s = new UiItemSlot(); Assert.True(s.ShortcutPeace); } [Fact] public void SetShortcutNum_setsIndexAndPeace() { var s = new UiItemSlot(); s.SetShortcutNum(3, peace: false); Assert.Equal(3, s.ShortcutNum); Assert.False(s.ShortcutPeace); } [Fact] public void SetShortcutNum_peaceTrue() { var s = new UiItemSlot(); s.SetShortcutNum(0, peace: true); Assert.Equal(0, s.ShortcutNum); Assert.True(s.ShortcutPeace); } [Fact] public void ClearShortcutNum_setsMinusOne() { var s = new UiItemSlot(); s.SetShortcutNum(5, peace: true); s.ClearShortcutNum(); Assert.Equal(-1, s.ShortcutNum); } }