AssertExtensions.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using Microsoft.Xna.Framework;
  3. namespace MonoGame.Extended.Tests
  4. {
  5. public static class AssertExtensions
  6. {
  7. public static bool AreApproximatelyEqual(Vector2 firstPoint, Vector2 secondPoint)
  8. {
  9. return Math.Abs(firstPoint.X - secondPoint.X) < float.Epsilon &&
  10. Math.Abs(firstPoint.Y - secondPoint.Y) < float.Epsilon;
  11. }
  12. public static bool AreApproximatelyEqual(RectangleF firstRectangle, RectangleF secondRectangle)
  13. {
  14. return Math.Abs(firstRectangle.X - secondRectangle.X) < float.Epsilon &&
  15. Math.Abs(firstRectangle.Y - secondRectangle.Y) < float.Epsilon &&
  16. Math.Abs(firstRectangle.Width - secondRectangle.Width) < float.Epsilon &&
  17. Math.Abs(firstRectangle.Height - secondRectangle.Height) < float.Epsilon;
  18. }
  19. public static void Equal(Matrix expected, Matrix actual, int precision = 5)
  20. {
  21. Assert.Equal(expected.M11, actual.M11, precision);
  22. Assert.Equal(expected.M12, actual.M12, precision);
  23. Assert.Equal(expected.M13, actual.M13, precision);
  24. Assert.Equal(expected.M14, actual.M14, precision);
  25. Assert.Equal(expected.M21, actual.M21, precision);
  26. Assert.Equal(expected.M22, actual.M22, precision);
  27. Assert.Equal(expected.M23, actual.M23, precision);
  28. Assert.Equal(expected.M24, actual.M24, precision);
  29. Assert.Equal(expected.M31, actual.M31, precision);
  30. Assert.Equal(expected.M32, actual.M32, precision);
  31. Assert.Equal(expected.M33, actual.M33, precision);
  32. Assert.Equal(expected.M34, actual.M34, precision);
  33. Assert.Equal(expected.M41, actual.M41, precision);
  34. Assert.Equal(expected.M42, actual.M42, precision);
  35. Assert.Equal(expected.M43, actual.M41, precision);
  36. Assert.Equal(expected.M44, actual.M44, precision);
  37. }
  38. }
  39. }