StraightLineTests.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Xunit;
  5. using Xunit.Abstractions;
  6. namespace Terminal.Gui.DrawingTests {
  7. public class StraightLineTests {
  8. readonly ITestOutputHelper output;
  9. public StraightLineTests (ITestOutputHelper output)
  10. {
  11. this.output = output;
  12. }
  13. [InlineData (Orientation.Horizontal, 0, 0, 0,
  14. 0, 0, 1, 1)]
  15. [InlineData (Orientation.Horizontal, 0, 0, 1,
  16. 0, 0, 1, 1)]
  17. [InlineData (Orientation.Horizontal, 0, 0, 2,
  18. 0, 0, 2, 1)]
  19. [InlineData (Orientation.Horizontal, 0, 0, 3,
  20. 0, 0, 3, 1)]
  21. [InlineData (Orientation.Horizontal, 0, 0, -1,
  22. 0, 0, 1, 1)]
  23. [InlineData (Orientation.Horizontal, 0, 0, -2,
  24. -1, 0, 2, 1)]
  25. [InlineData (Orientation.Horizontal, 0, 0, -3,
  26. -2, 0, 3, 1)]
  27. [InlineData (Orientation.Horizontal, 1, 0, 0,
  28. 1, 0, 1, 1)]
  29. [InlineData (Orientation.Horizontal, 1, 0, 1,
  30. 1, 0, 1, 1)]
  31. [InlineData (Orientation.Horizontal, 1, 0, 2,
  32. 1, 0, 2, 1)]
  33. [InlineData (Orientation.Horizontal, 1, 0, 3,
  34. 1, 0, 3, 1)]
  35. [InlineData (Orientation.Horizontal, 1, 0, -1,
  36. 1, 0, 1, 1)]
  37. [InlineData (Orientation.Horizontal, 1, 0, -2,
  38. 0, 0, 2, 1)]
  39. [InlineData (Orientation.Horizontal, 1, 0, -3,
  40. -1, 0, 3, 1)]
  41. [InlineData (Orientation.Horizontal, -1, 0, 0,
  42. -1, 0, 1, 1)]
  43. [InlineData (Orientation.Horizontal, 0, -1, 1,
  44. 0, -1, 1, 1)]
  45. [InlineData (Orientation.Horizontal, -1, -1, 1,
  46. -1, -1, 1, 1)]
  47. [InlineData (Orientation.Horizontal, -1, -1, 2,
  48. -1, -1, 2, 1)]
  49. [InlineData (Orientation.Horizontal, -10, -10, 10,
  50. -10, -10, 10, 1)]
  51. [InlineData (Orientation.Horizontal, 0, -1, -1,
  52. 0, -1, 1, 1)]
  53. [InlineData (Orientation.Horizontal, -1, -1, -1,
  54. -1, -1, 1, 1)]
  55. [InlineData (Orientation.Horizontal, -1, -1, -2,
  56. -2, -1, 2, 1)]
  57. [InlineData (Orientation.Horizontal, -10, -10, -10,
  58. -19, -10, 10, 1)]
  59. [InlineData (Orientation.Vertical, 0, 0, 0,
  60. 0, 0, 1, 1)]
  61. [InlineData (Orientation.Vertical, 0, 0, 1,
  62. 0, 0, 1, 1)]
  63. [InlineData (Orientation.Vertical, 0, 0, 2,
  64. 0, 0, 1, 2)]
  65. [InlineData (Orientation.Vertical, 0, 0, 3,
  66. 0, 0, 1, 3)]
  67. [InlineData (Orientation.Vertical, 0, 0, -1,
  68. 0, 0, 1, 1)]
  69. [InlineData (Orientation.Vertical, 0, 0, -2,
  70. 0, -1, 1, 2)]
  71. [InlineData (Orientation.Vertical, 0, 0, -3,
  72. 0, -2, 1, 3)]
  73. [Theory, SetupFakeDriver]
  74. public void Bounds (Orientation orientation, int x, int y, int length, int expectedX, int expectedY, int expectedWidth, int expectedHeight)
  75. {
  76. var sl = new StraightLine (new Point (x, y), length, orientation, LineStyle.Single);
  77. Assert.Equal (new Rect (expectedX, expectedY, expectedWidth, expectedHeight), sl.Bounds);
  78. }
  79. }
  80. }