Browse Source

failing unit test.

pull/8482/head
Dan Walmsley 4 years ago
parent
commit
9be71040c8
  1. 24
      tests/Avalonia.Controls.UnitTests/WindowTests.cs
  2. 4
      tests/Avalonia.UnitTests/MockWindowingPlatform.cs

24
tests/Avalonia.Controls.UnitTests/WindowTests.cs

@ -549,22 +549,33 @@ namespace Avalonia.Controls.UnitTests
screens.Setup(x => x.AllScreens).Returns(new Screen[] { screen1.Object }); screens.Setup(x => x.AllScreens).Returns(new Screen[] { screen1.Object });
screens.Setup(x => x.ScreenFromPoint(It.IsAny<PixelPoint>())).Returns(screen1.Object); screens.Setup(x => x.ScreenFromPoint(It.IsAny<PixelPoint>())).Returns(screen1.Object);
var windowImpl = MockWindowingPlatform.CreateWindowMock(); var windowImpl = MockWindowingPlatform.CreateWindowMock(400, 300);
windowImpl.Setup(x => x.DesktopScaling).Returns(1.75); windowImpl.Setup(x => x.DesktopScaling).Returns(1.75);
windowImpl.Setup(x => x.RenderScaling).Returns(1.75); windowImpl.Setup(x => x.RenderScaling).Returns(1.75);
windowImpl.Setup(x => x.Screen).Returns(screens.Object); windowImpl.Setup(x => x.Screen).Returns(screens.Object);
var clientSize = new Size(400.142, 366); var clientSize = new Size(400, 300);
bool isShown = false;
windowImpl.Setup(x => x.ClientSize).Returns(() => clientSize);
windowImpl.Setup(x => x.Resize(It.IsAny<Size>(), It.IsAny<PlatformResizeReason>())) windowImpl.Setup(x => x.Resize(It.IsAny<Size>(), It.IsAny<PlatformResizeReason>()))
.Callback<Size, PlatformResizeReason>((x, y) => .Callback<Size, PlatformResizeReason>((x, y) =>
{ {
clientSize = x; if (x != clientSize)
windowImpl.Object.Resized?.Invoke(clientSize, y); {
clientSize = x;
windowImpl.Object.Resized?.Invoke(clientSize, y);
}
}); });
windowImpl.Setup(x => x.FrameSize).Returns(() => clientSize.Inflate(new Thickness(5, 25, 5, 5))); windowImpl.Setup(x => x.Show(It.IsAny<bool>(), It.IsAny<bool>()))
.Callback<bool, bool>((activate, isDialog) =>
{
isShown = true;
windowImpl.Object.Resized?.Invoke(clientSize, PlatformResizeReason.Unspecified);
});
windowImpl.Setup(x => x.FrameSize).Returns(() => windowImpl.Object.ClientSize.Inflate(new Thickness(5, 25, 5, 5)));
using (UnitTestApplication.Start(TestServices.StyledWindow)) using (UnitTestApplication.Start(TestServices.StyledWindow))
{ {
@ -575,6 +586,7 @@ namespace Avalonia.Controls.UnitTests
window.Show(); window.Show();
Assert.Equal(new PixelPoint(601, 194), window.Position);
Assert.Equal(new Size(720, 480), window.Bounds.Size); Assert.Equal(new Size(720, 480), window.Bounds.Size);
} }
} }

4
tests/Avalonia.UnitTests/MockWindowingPlatform.cs

@ -21,11 +21,11 @@ namespace Avalonia.UnitTests
_popupImpl = popupImpl; _popupImpl = popupImpl;
} }
public static Mock<IWindowImpl> CreateWindowMock() public static Mock<IWindowImpl> CreateWindowMock(double initialWidth = 800, double initialHeight = 600)
{ {
var windowImpl = new Mock<IWindowImpl>(); var windowImpl = new Mock<IWindowImpl>();
var position = new PixelPoint(); var position = new PixelPoint();
var clientSize = new Size(800, 600); var clientSize = new Size(initialWidth, initialHeight);
windowImpl.SetupAllProperties(); windowImpl.SetupAllProperties();
windowImpl.Setup(x => x.ClientSize).Returns(() => clientSize); windowImpl.Setup(x => x.ClientSize).Returns(() => clientSize);

Loading…
Cancel
Save