FrameViewTests.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using Xunit.Abstractions;
  2. namespace Terminal.Gui.ViewsTests;
  3. public class FrameViewTests
  4. {
  5. private readonly ITestOutputHelper _output;
  6. public FrameViewTests (ITestOutputHelper output) { _output = output; }
  7. [Fact]
  8. public void Constructors_Defaults ()
  9. {
  10. var fv = new FrameView ();
  11. Assert.Equal (string.Empty, fv.Title);
  12. Assert.Equal (string.Empty, fv.Text);
  13. Assert.Equal (LineStyle.Single, fv.BorderStyle);
  14. fv = new FrameView { Title = "Test" };
  15. Assert.Equal ("Test", fv.Title);
  16. Assert.Equal (string.Empty, fv.Text);
  17. Assert.Equal (LineStyle.Single, fv.BorderStyle);
  18. fv = new FrameView
  19. {
  20. X = 1,
  21. Y = 2,
  22. Width = 10,
  23. Height = 20,
  24. Title = "Test"
  25. };
  26. Assert.Equal ("Test", fv.Title);
  27. Assert.Equal (string.Empty, fv.Text);
  28. fv.BeginInit ();
  29. fv.EndInit ();
  30. Assert.Equal (LineStyle.Single, fv.BorderStyle);
  31. Assert.Equal (new Rectangle (1, 2, 10, 20), fv.Frame);
  32. }
  33. [Fact]
  34. [AutoInitShutdown]
  35. public void Draw_Defaults ()
  36. {
  37. ((FakeDriver)Application.Driver).SetBufferSize (10, 10);
  38. var fv = new FrameView ();
  39. Assert.Equal (string.Empty, fv.Title);
  40. Assert.Equal (string.Empty, fv.Text);
  41. Application.Top.Add (fv);
  42. Application.Begin (Application.Top);
  43. Assert.Equal (new Rectangle (0, 0, 0, 0), fv.Frame);
  44. TestHelpers.AssertDriverContentsWithFrameAre (@"", _output);
  45. fv.Height = 5;
  46. fv.Width = 5;
  47. Assert.Equal (new Rectangle (0, 0, 5, 5), fv.Frame);
  48. Application.Refresh ();
  49. TestHelpers.AssertDriverContentsWithFrameAre (
  50. @"
  51. ┌───┐
  52. │ │
  53. │ │
  54. │ │
  55. └───┘",
  56. _output
  57. );
  58. fv.X = 1;
  59. fv.Y = 2;
  60. Assert.Equal (new Rectangle (1, 2, 5, 5), fv.Frame);
  61. Application.Refresh ();
  62. TestHelpers.AssertDriverContentsWithFrameAre (
  63. @"
  64. ┌───┐
  65. │ │
  66. │ │
  67. │ │
  68. └───┘",
  69. _output
  70. );
  71. fv.X = -1;
  72. fv.Y = -2;
  73. Assert.Equal (new Rectangle (-1, -2, 5, 5), fv.Frame);
  74. Application.Refresh ();
  75. TestHelpers.AssertDriverContentsWithFrameAre (
  76. @"
  77. ───┘",
  78. _output
  79. );
  80. fv.X = 7;
  81. fv.Y = 8;
  82. Assert.Equal (new Rectangle (7, 8, 5, 5), fv.Frame);
  83. Application.Refresh ();
  84. TestHelpers.AssertDriverContentsWithFrameAre (
  85. @"
  86. ┌──
  87. │ ",
  88. _output
  89. );
  90. }
  91. }