TransformTests.cs 1.4 KB

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