using Annulus; using Azimuth; using UnitTestSharp; namespace Glass.UnitTests { public class OrientationExtensionsTests : TestFixture { [IgnoreTest] private static Rect Rect100By40() => Rect.FromPositionAndSize(Vector.Zero, new Vector(100, 40)); public class MainAxisLengthTests : TestFixture { public void Horizontal_IsWidth() { CheckEqual(100, Orientation.Horizontal.MainAxisLength(Rect100By40())); } public void Vertical_IsHeight() { CheckEqual(40, Orientation.Vertical.MainAxisLength(Rect100By40())); } } public class CrossAxisLengthTests : TestFixture { public void Horizontal_IsHeight() { CheckEqual(40, Orientation.Horizontal.CrossAxisLength(Rect100By40())); } public void Vertical_IsWidth() { CheckEqual(100, Orientation.Vertical.CrossAxisLength(Rect100By40())); } } public class MainAxisTests : TestFixture { public void Horizontal_IsX() { CheckEqual(3, Orientation.Horizontal.MainAxis(new Vector(3, 7))); } public void Vertical_IsY() { CheckEqual(7, Orientation.Vertical.MainAxis(new Vector(3, 7))); } } public class CrossAxisTests : TestFixture { public void Horizontal_IsY() { CheckEqual(7, Orientation.Horizontal.CrossAxis(new Vector(3, 7))); } public void Vertical_IsX() { CheckEqual(3, Orientation.Vertical.CrossAxis(new Vector(3, 7))); } } public class AxisRectTests : TestFixture { public void Horizontal_MainAxisPositionIsX() { Rect rect = Orientation.Horizontal.AxisRect(mainAxisPosition: 10, mainAxisLength: 30, crossAxisLength: 20); CheckEqual(Rect.FromPositionAndSize(new Vector(10, 0), new Vector(30, 20)), rect); } public void Vertical_MainAxisPositionIsY() { Rect rect = Orientation.Vertical.AxisRect(mainAxisPosition: 10, mainAxisLength: 30, crossAxisLength: 20); CheckEqual(Rect.FromPositionAndSize(new Vector(0, 10), new Vector(20, 30)), rect); } } } }