FrameTests.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using Xunit;
  2. using Xunit.Abstractions;
  3. namespace Terminal.Gui.ViewTests;
  4. public class FrameTests {
  5. readonly ITestOutputHelper _output;
  6. public FrameTests (ITestOutputHelper output)
  7. {
  8. _output = output;
  9. }
  10. // Test FrameToScreen
  11. [Theory]
  12. [InlineData (0, 0, 0, 0)]
  13. [InlineData (1, 0, 1, 0)]
  14. [InlineData (0, 1, 0, 1)]
  15. [InlineData (1, 1, 1, 1)]
  16. [InlineData (10, 10, 10, 10)]
  17. public void FrameToScreen_NoSuperView (int frameX, int frameY, int expectedScreenX, int expectedScreenY)
  18. {
  19. var view = new View () {
  20. X = frameX,
  21. Y = frameY,
  22. Width = 10,
  23. Height = 10
  24. };
  25. var expected = new Rect (expectedScreenX, expectedScreenY, 10, 10);
  26. var actual = view.FrameToScreen ();
  27. Assert.Equal (expected, actual);
  28. }
  29. [Theory]
  30. [InlineData (0, 0, 0, 0, 0)]
  31. [InlineData (1, 0, 0, 1, 1)]
  32. [InlineData (2, 0, 0, 2, 2)]
  33. [InlineData (1, 1, 0, 2, 1)]
  34. [InlineData (1, 0, 1, 1, 2)]
  35. [InlineData (1, 1, 1, 2, 2)]
  36. [InlineData (1, 10, 10, 11, 11)]
  37. public void FrameToScreen_SuperView (int superOffset, int frameX, int frameY, int expectedScreenX, int expectedScreenY)
  38. {
  39. var super = new View() {
  40. X = superOffset,
  41. Y = superOffset,
  42. Width = 20,
  43. Height = 20
  44. };
  45. var view = new View () {
  46. X = frameX,
  47. Y = frameY,
  48. Width = 10,
  49. Height = 10
  50. };
  51. super.Add (view);
  52. var expected = new Rect (expectedScreenX, expectedScreenY, 10, 10);
  53. var actual = view.FrameToScreen ();
  54. Assert.Equal (expected, actual);
  55. }
  56. }