using System.Numerics; using AcDream.App.UI.Layout; namespace AcDream.App.Tests.UI.Layout; public sealed class VividTargetIndicatorLayoutTests { private static readonly (float Width, float Height)[] RetailCorners = [(12f, 12f), (12f, 12f), (12f, 12f), (12f, 12f)]; [Fact] public void CornersSitOutsideSelectionSphereRectangle() { VividTargetLayout layout = VividTargetIndicatorController.ComputeLayout( new Vector2(100f, 80f), new Vector2(180f, 200f), new Vector2(800f, 600f), RetailCorners); Assert.Equal(new Vector2(88f, 68f), layout.RootPosition); Assert.Equal(new Vector2(104f, 144f), layout.RootSize); Assert.Equal(Vector2.Zero, layout.CornerPositions[0]); Assert.Equal(new Vector2(92f, 0f), layout.CornerPositions[1]); Assert.Equal(new Vector2(92f, 132f), layout.CornerPositions[2]); Assert.Equal(new Vector2(0f, 132f), layout.CornerPositions[3]); } [Fact] public void WholeIndicatorClampsToRetailEightPixelViewportMargin() { VividTargetLayout layout = VividTargetIndicatorController.ComputeLayout( new Vector2(2f, 3f), new Vector2(62f, 83f), new Vector2(200f, 150f), RetailCorners); Assert.Equal(new Vector2(8f, 8f), layout.RootPosition); Assert.Equal(new Vector2(66f, 87f), layout.RootSize); } }