MarginTests.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using UnitTests;
  2. using Xunit.Abstractions;
  3. namespace UnitTests_Parallelizable.ViewTests;
  4. public class MarginTests
  5. {
  6. [Fact]
  7. public void Is_Visually_Transparent ()
  8. {
  9. var view = new View { Height = 3, Width = 3 };
  10. Assert.True(view.Margin!.ViewportSettings.HasFlag(ViewportSettingsFlags.Transparent), "Margin should be transparent by default.");
  11. }
  12. [Fact]
  13. public void Is_Transparent_To_Mouse ()
  14. {
  15. var view = new View { Height = 3, Width = 3 };
  16. Assert.True (view.Margin!.ViewportSettings.HasFlag (ViewportSettingsFlags.TransparentMouse), "Margin should be transparent to mouse by default.");
  17. }
  18. [Fact]
  19. public void When_Not_Visually_Transparent ()
  20. {
  21. var view = new View { Height = 3, Width = 3 };
  22. // Give the Margin some size
  23. view.Margin!.Thickness = new Thickness (1, 1, 1, 1);
  24. // Give it Text
  25. view.Margin.Text = "Test";
  26. // Strip off ViewportSettings.Transparent
  27. view.Margin!.ViewportSettings &= ~ViewportSettingsFlags.Transparent;
  28. //
  29. }
  30. [Fact]
  31. public void Thickness_Is_Empty_By_Default ()
  32. {
  33. var view = new View { Height = 3, Width = 3 };
  34. Assert.Equal (Thickness.Empty, view.Margin!.Thickness);
  35. }
  36. // ShadowStyle
  37. [Fact]
  38. public void Margin_Uses_ShadowStyle_Transparent ()
  39. {
  40. var view = new View { Height = 3, Width = 3, ShadowStyle = ShadowStyle.Transparent };
  41. Assert.Equal (ShadowStyle.Transparent, view.Margin!.ShadowStyle);
  42. Assert.True (view.Margin.ViewportSettings.HasFlag (ViewportSettingsFlags.TransparentMouse), "Margin should be transparent to mouse when ShadowStyle is Transparent.");
  43. Assert.True (view.Margin!.ViewportSettings.HasFlag (ViewportSettingsFlags.Transparent), "Margin should be transparent when ShadowStyle is Transparent..");
  44. }
  45. [Fact]
  46. public void Margin_Uses_ShadowStyle_Opaque ()
  47. {
  48. var view = new View { Height = 3, Width = 3, ShadowStyle = ShadowStyle.Opaque };
  49. Assert.Equal (ShadowStyle.Opaque, view.Margin!.ShadowStyle);
  50. Assert.True (view.Margin.ViewportSettings.HasFlag (ViewportSettingsFlags.TransparentMouse), "Margin should be transparent to mouse when ShadowStyle is Opaque.");
  51. Assert.True (view.Margin!.ViewportSettings.HasFlag (ViewportSettingsFlags.Transparent), "Margin should be transparent when ShadowStyle is Opaque..");
  52. }
  53. }