WindowTests.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // -----------------------------------------------------------------------
  2. // <copyright file="WindowTests.cs" company="Steven Kirk">
  3. // Copyright 2015 MIT Licence. See licence.md for more information.
  4. // </copyright>
  5. // -----------------------------------------------------------------------
  6. using Avalonia.Layout;
  7. using Avalonia.Platform;
  8. using Avalonia.UnitTests;
  9. using Moq;
  10. using Xunit;
  11. namespace Avalonia.Controls.UnitTests
  12. {
  13. public class WindowTests
  14. {
  15. [Fact]
  16. public void Setting_Title_Should_Set_Impl_Title()
  17. {
  18. var windowImpl = new Mock<IWindowImpl>();
  19. var services = new TestServices(
  20. windowingPlatform: new MockWindowingPlatform(() => windowImpl.Object));
  21. using (UnitTestApplication.Start(services))
  22. {
  23. AvaloniaLocator.CurrentMutable.BindToSelf(windowImpl.Object);
  24. var target = new Window();
  25. target.Title = "Hello World";
  26. windowImpl.Verify(x => x.SetTitle("Hello World"));
  27. }
  28. }
  29. [Fact]
  30. public void IsVisible_Should_Initially_Be_False()
  31. {
  32. using (UnitTestApplication.Start(TestServices.MockWindowingPlatform))
  33. {
  34. var window = new Window();
  35. Assert.False(window.IsVisible);
  36. }
  37. }
  38. [Fact]
  39. public void IsVisible_Should_Be_True_After_Show()
  40. {
  41. using (UnitTestApplication.Start(TestServices.StyledWindow))
  42. {
  43. var window = new Window();
  44. window.Show();
  45. Assert.True(window.IsVisible);
  46. }
  47. }
  48. [Fact]
  49. public void IsVisible_Should_Be_True_After_ShowDialog()
  50. {
  51. using (UnitTestApplication.Start(TestServices.StyledWindow))
  52. {
  53. var window = new Window();
  54. var task = window.ShowDialog();
  55. Assert.True(window.IsVisible);
  56. }
  57. }
  58. [Fact]
  59. public void IsVisible_Should_Be_False_Atfer_Hide()
  60. {
  61. using (UnitTestApplication.Start(TestServices.StyledWindow))
  62. {
  63. var window = new Window();
  64. window.Show();
  65. window.Hide();
  66. Assert.False(window.IsVisible);
  67. }
  68. }
  69. [Fact]
  70. public void IsVisible_Should_Be_False_Atfer_Close()
  71. {
  72. using (UnitTestApplication.Start(TestServices.StyledWindow))
  73. {
  74. var window = new Window();
  75. window.Show();
  76. window.Close();
  77. Assert.False(window.IsVisible);
  78. }
  79. }
  80. [Fact]
  81. public void IsVisible_Should_Be_False_Atfer_Impl_Signals_Close()
  82. {
  83. var windowImpl = new Mock<IWindowImpl>();
  84. windowImpl.SetupProperty(x => x.Closed);
  85. var services = TestServices.StyledWindow.With(
  86. windowingPlatform: new MockWindowingPlatform(() => windowImpl.Object));
  87. using (UnitTestApplication.Start(services))
  88. {
  89. var window = new Window();
  90. window.Show();
  91. windowImpl.Object.Closed();
  92. Assert.False(window.IsVisible);
  93. }
  94. }
  95. }
  96. }