NeedsDisplayTests.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #nullable enable
  2. using System.Text;
  3. using Xunit.Abstractions;
  4. namespace Terminal.Gui.ViewTests;
  5. [Trait("Category","Output")]
  6. public class NeedsDisplayTests ()
  7. {
  8. [Fact]
  9. public void NeedsDisplay_False_If_Width_Height_Zero ()
  10. {
  11. View view = new () { Width = 0, Height = 0};
  12. view.BeginInit();
  13. view.EndInit();
  14. Assert.False (view.NeedsDisplay);
  15. Assert.False (view.SubViewNeedsDisplay);
  16. }
  17. [Fact]
  18. public void NeedsDisplay_True_Initially_If_Width_Height_Not_Zero ()
  19. {
  20. View superView = new () { Width = 1, Height = 1};
  21. View view1 = new () { Width = 1, Height = 1 };
  22. View view2 = new () { Width = 1, Height = 1 };
  23. superView.Add(view1, view2);
  24. superView.BeginInit ();
  25. superView.EndInit ();
  26. Assert.True (superView.NeedsDisplay);
  27. Assert.True (superView.SubViewNeedsDisplay);
  28. Assert.True (view1.NeedsDisplay);
  29. Assert.True (view2.NeedsDisplay);
  30. superView.Draw ();
  31. Assert.False (superView.NeedsDisplay);
  32. Assert.False (superView.SubViewNeedsDisplay);
  33. Assert.False (view1.NeedsDisplay);
  34. Assert.False (view2.NeedsDisplay);
  35. superView.SetNeedsDisplay();
  36. Assert.True (superView.NeedsDisplay);
  37. Assert.True (superView.SubViewNeedsDisplay);
  38. Assert.True (view1.NeedsDisplay);
  39. Assert.True (view2.NeedsDisplay);
  40. }
  41. }