TransformTests.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using PixiEditor.Models.ImageManipulation;
  2. using PixiEditor.Models.Position;
  3. using Xunit;
  4. namespace PixiEditorTests.ModelsTests.ImageManipulationTests
  5. {
  6. public class TransformTests
  7. {
  8. [Theory]
  9. [InlineData(0, 0, 1, 1, 1, 1)]
  10. [InlineData(1, 1, 0, 0, -1, -1)]
  11. [InlineData(5, 5, 4, 6, -1, 1)]
  12. [InlineData(-15, -15, -16, -16, -1, -1)]
  13. [InlineData(150, 150, 1150, 1150, 1000, 1000)]
  14. public void TestGetTranslation(int x1, int y1, int x2, int y2, int expectedX, int expectedY)
  15. {
  16. Coordinates translation = Transform.GetTranslation(new Coordinates(x1, y1), new Coordinates(x2, y2));
  17. Assert.Equal(new Coordinates(expectedX, expectedY), translation);
  18. }
  19. [Theory]
  20. [InlineData(0, 0)]
  21. [InlineData(1, 1)]
  22. [InlineData(5, 2)]
  23. [InlineData(50, 150)]
  24. [InlineData(-5, -52)]
  25. public void TestTranslate(int vectorX, int vectorY)
  26. {
  27. Coordinates[] points = { new Coordinates(0, 0), new Coordinates(5, 5), new Coordinates(15, 2) };
  28. Coordinates[] translatedCords = Transform.Translate(points, new Coordinates(vectorX, vectorY));
  29. for (int i = 0; i < points.Length; i++)
  30. {
  31. Assert.Equal(points[i].X + vectorX, translatedCords[i].X);
  32. Assert.Equal(points[i].Y + vectorY, translatedCords[i].Y);
  33. }
  34. }
  35. }
  36. }