using AcDream.Core.Items; namespace AcDream.Core.Tests.Items; public sealed class ItemUseabilityTests { [Fact] public void TargetedUse_hasHighTargetBits() { const uint healthKit = 0x000A0008u; // source contained, target self or contained Assert.True(ItemUseability.IsTargeted(healthKit)); Assert.True(ItemUseability.AllowsSelfTarget(healthKit)); Assert.Equal(ItemUseability.Contained, ItemUseability.SourceFlags(healthKit)); Assert.Equal(ItemUseability.Self | ItemUseability.Contained, ItemUseability.TargetFlags(healthKit)); } [Fact] public void DirectContainedUse_isNotTargeted() { Assert.False(ItemUseability.IsTargeted(ItemUseability.Contained)); Assert.True(ItemUseability.IsDirectUseable(ItemUseability.Contained)); } [Fact] public void UseableNo_isNotDirectUseable() { Assert.False(ItemUseability.IsDirectUseable(ItemUseability.No)); } }