StraightLineTests.cs 2.8 KB

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