using Azimuth; using UnitTestSharp; namespace Glass.UnitTests { public class DrawStateTests : TestFixture { public class ModelToWorldTests : TestFixture { public void Unset_ReadsAsIdentity() { CheckEqual(AffineMatrix.Identity, default(DrawState).ModelToWorld); } public void Set_ReadsBackWhatItWasGiven() { var transform = AffineMatrix.BuildFromTranslation(new Vector(3, 4)); CheckEqual(transform, new DrawState { ModelToWorld = transform }.ModelToWorld); } public void Unset_ComposesAsTheIdentityRatherThanCollapsingWhatItMultiplies() { var transform = AffineMatrix.BuildFromTranslation(new Vector(3, 4)); DrawState drawState = default; drawState.ModelToWorld *= transform; CheckEqual(new Vector(8, 10), drawState.ModelToWorld.TransformPoint(new Vector(5, 6))); } } } }