FrameViewTests.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. var top = new Toplevel ();
  42. top.Add (fv);
  43. Application.Begin (top);
  44. Assert.Equal (new Rectangle (0, 0, 0, 0), fv.Frame);
  45. TestHelpers.AssertDriverContentsWithFrameAre (@"", _output);
  46. fv.Height = 5;
  47. fv.Width = 5;
  48. Assert.Equal (new Rectangle (0, 0, 5, 5), fv.Frame);
  49. Application.Refresh ();
  50. TestHelpers.AssertDriverContentsWithFrameAre (
  51. @"
  52. ┌───┐
  53. │ │
  54. │ │
  55. │ │
  56. └───┘",
  57. _output
  58. );
  59. fv.X = 1;
  60. fv.Y = 2;
  61. Assert.Equal (new Rectangle (1, 2, 5, 5), fv.Frame);
  62. Application.Refresh ();
  63. TestHelpers.AssertDriverContentsWithFrameAre (
  64. @"
  65. ┌───┐
  66. │ │
  67. │ │
  68. │ │
  69. └───┘",
  70. _output
  71. );
  72. fv.X = -1;
  73. fv.Y = -2;
  74. Assert.Equal (new Rectangle (-1, -2, 5, 5), fv.Frame);
  75. Application.Refresh ();
  76. TestHelpers.AssertDriverContentsWithFrameAre (
  77. @"
  78. ───┘",
  79. _output
  80. );
  81. fv.X = 7;
  82. fv.Y = 8;
  83. Assert.Equal (new Rectangle (7, 8, 5, 5), fv.Frame);
  84. Application.Refresh ();
  85. TestHelpers.AssertDriverContentsWithFrameAre (
  86. @"
  87. ┌──
  88. │ ",
  89. _output
  90. );
  91. }
  92. }