using System; using System.Collections.Generic; using System.Text; using PixiEditor.Models.ImageManipulation; using PixiEditor.Models.Position; using Xunit; namespace PixiEditorTests.ModelsTests.ImageManipulationTests { public class TransformTests { [Theory] [InlineData(0,0,1,1,1,1)] [InlineData(1,1,0,0,-1,-1)] [InlineData(5,5,4,6,-1,1)] [InlineData(-15,-15,-16,-16,-1,-1)] [InlineData(150,150,1150,1150,1000,1000)] public void TestGetTranslation(int x1, int y1, int x2, int y2, int expectedX, int expectedY) { var translation = Transform.GetTranslation(new Coordinates(x1, y1), new Coordinates(x2, y2)); Assert.Equal(new Coordinates(expectedX, expectedY), translation); } [Theory] [InlineData(0,0)] [InlineData(1,1)] [InlineData(5,2)] [InlineData(50,150)] [InlineData(-5,-52)] public void TestTranslate(int vectorX, int vectorY) { Coordinates[] points = {new Coordinates(0, 0), new Coordinates(5, 5), new Coordinates(15,2)}; var translatedCords = Transform.Translate(points, new Coordinates(vectorX, vectorY)); for (int i = 0; i < points.Length; i++) { Assert.Equal(points[i].X + vectorX, translatedCords[i].X); Assert.Equal(points[i].Y + vectorY, translatedCords[i].Y); } } } }