SetLayoutTests.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using UnitTests;
  2. using Xunit.Abstractions;
  3. namespace Terminal.Gui.LayoutTests;
  4. public class SetLayoutTests (ITestOutputHelper output)
  5. {
  6. private readonly ITestOutputHelper _output = output;
  7. [Fact]
  8. [AutoInitShutdown]
  9. public void Screen_Size_Change_Causes_Layout ()
  10. {
  11. Application.Top = new ();
  12. var view = new View
  13. {
  14. X = 3,
  15. Y = 2,
  16. Width = 10,
  17. Height = 1,
  18. Text = "0123456789"
  19. };
  20. Application.Top.Add (view);
  21. var rs = Application.Begin (Application.Top);
  22. AutoInitShutdownAttribute.FakeResize (new Size (80,25));
  23. Assert.Equal (new (0, 0, 80, 25), new Rectangle (0, 0, Application.Screen.Width, Application.Screen.Height));
  24. Assert.Equal (new (0, 0, Application.Screen.Width, Application.Screen.Height), Application.Top.Frame);
  25. Assert.Equal (new (0, 0, 80, 25), Application.Top.Frame);
  26. AutoInitShutdownAttribute.FakeResize(new Size(20, 10)) ;
  27. Assert.Equal (new (0, 0, Application.Screen.Width, Application.Screen.Height), Application.Top.Frame);
  28. Assert.Equal (new (0, 0, 20, 10), Application.Top.Frame);
  29. Application.End (rs);
  30. Application.Top.Dispose ();
  31. }
  32. }