ShadowStyletests.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. namespace Terminal.Gui.ViewTests;
  2. public class ShadowStyleTests
  3. {
  4. [Fact]
  5. public void Default_None ()
  6. {
  7. var view = new View ();
  8. Assert.Equal (ShadowStyle.None, view.ShadowStyle);
  9. Assert.Equal (ShadowStyle.None, view.Margin!.ShadowStyle);
  10. view.Dispose ();
  11. }
  12. [Theory]
  13. [InlineData (ShadowStyle.None)]
  14. [InlineData (ShadowStyle.Opaque)]
  15. [InlineData (ShadowStyle.Transparent)]
  16. public void Set_View_Sets_Margin (ShadowStyle style)
  17. {
  18. var view = new View ();
  19. view.ShadowStyle = style;
  20. Assert.Equal (style, view.ShadowStyle);
  21. Assert.Equal (style, view.Margin!.ShadowStyle);
  22. view.Dispose ();
  23. }
  24. [Theory]
  25. [InlineData (ShadowStyle.None, 0, 0, 0, 0)]
  26. [InlineData (ShadowStyle.Opaque, 0, 0, 1, 1)]
  27. [InlineData (ShadowStyle.Transparent, 0, 0, 1, 1)]
  28. public void ShadowStyle_Margin_Thickness (ShadowStyle style, int expectedLeft, int expectedTop, int expectedRight, int expectedBottom)
  29. {
  30. var superView = new View
  31. {
  32. Height = 10, Width = 10
  33. };
  34. View view = new ()
  35. {
  36. Width = Dim.Auto (),
  37. Height = Dim.Auto (),
  38. Text = "0123",
  39. HighlightStyle = HighlightStyle.Pressed,
  40. ShadowStyle = style,
  41. CanFocus = true
  42. };
  43. superView.Add (view);
  44. superView.BeginInit ();
  45. superView.EndInit ();
  46. Assert.Equal (new (expectedLeft, expectedTop, expectedRight, expectedBottom), view.Margin.Thickness);
  47. }
  48. [Theory]
  49. [InlineData (ShadowStyle.None, 3)]
  50. [InlineData (ShadowStyle.Opaque, 4)]
  51. [InlineData (ShadowStyle.Transparent, 4)]
  52. public void Style_Changes_Margin_Thickness (ShadowStyle style, int expected)
  53. {
  54. var view = new View ();
  55. view.Margin!.Thickness = new (3);
  56. view.ShadowStyle = style;
  57. Assert.Equal (new (3, 3, expected, expected), view.Margin.Thickness);
  58. view.ShadowStyle = ShadowStyle.None;
  59. Assert.Equal (new (3), view.Margin.Thickness);
  60. view.Dispose ();
  61. }
  62. }