ShadowStyletests.cs 2.1 KB

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