public void MouseWheelCenter() { using (var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName)) { var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); Mouse.Position = window.FindGroupBox("Zoombox").Bounds.Center(); Assert.AreEqual("Identity", contentMatrix.Text); Mouse.Scroll(1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.05,0,0,1.05,-9.65000000000001,-6.20000000000002", contentMatrix.Text); Mouse.Scroll(1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.1025,0,0,1.1025,-19.7825,-12.71", contentMatrix.Text); Mouse.Scroll(-1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.05,0,0,1.05,-9.65,-6.20000000000003", contentMatrix.Text); Mouse.Scroll(-1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1,0,0,1,1.59872115546023E-14,-1.68753899743024E-14", contentMatrix.Text); } }
public void PanFromUniform() { using (var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName)) { var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); var zoomBox = window.FindGroupBox("Zoombox"); window.FindButton("Uniform").Invoke(); window.WaitUntilResponsive(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("0.6225,0,0,0.6225,99.625,-1.4210854715202E-14", contentMatrix.Text); Mouse.DragHorizontally(MouseButton.Left, zoomBox.Bounds.Center(), 50); window.WaitUntilResponsive(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("0.6225,0,0,0.6225,149.625,-1.4210854715202E-14", contentMatrix.Text); Mouse.DragHorizontally(MouseButton.Left, zoomBox.Bounds.Center(), -50); window.WaitUntilResponsive(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("0.6225,0,0,0.6225,99.625,-1.4210854715202E-14", contentMatrix.Text); Mouse.DragVertically(MouseButton.Left, zoomBox.Bounds.Center(), 50); window.WaitUntilResponsive(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("0.6225,0,0,0.6225,99.625,50", contentMatrix.Text); Mouse.DragVertically(MouseButton.Left, zoomBox.Bounds.Center(), -50); window.WaitUntilResponsive(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("0.6225,0,0,0.6225,99.625,-1.4210854715202E-14", contentMatrix.Text); } }
public void MouseWheelBottomLeft() { using (var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName)) { var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); Mouse.Position = window.FindGroupBox("Zoombox").Bounds.BottomLeft + new Vector(1, -1); Assert.AreEqual("Identity", contentMatrix.Text); Mouse.Scroll(1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.05,0,0,1.05,0,-12.45", contentMatrix.Text); Mouse.Scroll(1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.1025,0,0,1.1025,0,-25.5225", contentMatrix.Text); Mouse.Scroll(-1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.05,0,0,1.05,0,-12.45", contentMatrix.Text); Mouse.Scroll(-1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1,0,0,1,0,2.8421709430404E-14", contentMatrix.Text); } }
public void MouseWheelTopRight() { using (var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName)) { var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); Mouse.Position = window.FindGroupBox("Zoombox").Bounds.TopRight + new Vector(-1, 1); Assert.AreEqual("Identity", contentMatrix.Text); Mouse.Scroll(1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.05,0,0,1.05,-19.3,0", contentMatrix.Text); Mouse.Scroll(1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.1025,0,0,1.1025,-39.565,0", contentMatrix.Text); Mouse.Scroll(-1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1.05,0,0,1.05,-19.3,0", contentMatrix.Text); Mouse.Scroll(-1); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("1,0,0,1,3.19744231092045E-14,0", contentMatrix.Text); } }
public void PanFromUniform() { using var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName); var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); var zoomBox = window.FindGroupBox("Zoombox"); window.FindButton("Uniform").Invoke(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("0.62,0,0,0.62,100,0", contentMatrix.Text); Mouse.DragHorizontally(MouseButton.Left, zoomBox.Bounds.Center(), 50); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("0.62,0,0,0.62,150,0", contentMatrix.Text); Mouse.DragHorizontally(MouseButton.Left, zoomBox.Bounds.Center(), -50); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("0.62,0,0,0.62,100,0", contentMatrix.Text); Mouse.DragVertically(MouseButton.Left, zoomBox.Bounds.Center(), 50); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("0.62,0,0,0.62,100,50", contentMatrix.Text); Mouse.DragVertically(MouseButton.Left, zoomBox.Bounds.Center(), -50); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("0.62,0,0,0.62,100,0", contentMatrix.Text); }
public void SetUp() { using var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName); var window = app.MainWindow; window.FindButton("None").Invoke(); }
public void MouseWheelBottomRight() { using (var app = Application.AttachOrLaunch(Application.FindExe("Gu.Wpf.Geometry.Demo.exe"), "ZoomWindow")) { var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); var image = window.FindFirstDescendant(ControlType.Image); Assert.AreEqual("Identity", contentMatrix.Text); var topLeft = image.Bounds.TopLeft(); var size = Size.Parse(renderSize.Text); Mouse.Click(MouseButton.Left, new Point(topLeft.X + size.Width - 1, topLeft.Y + size.Height - 1)); Mouse.Scroll(1); app.WaitWhileBusy(); app.WaitWhileBusy(); var matrix = Matrix.Parse(contentMatrix.Text); Assert.AreEqual(1.05, matrix.M11, 1E-3); Assert.AreEqual(1.05, matrix.M22, 1E-3); var expectedOffsetX = -0.05 * size.Width; Assert.AreEqual(expectedOffsetX, matrix.OffsetX, 1E-1); var expectedOffsetY = -0.05 * size.Height; Assert.AreEqual(expectedOffsetY, matrix.OffsetY, 1E-1); } }
public static void ChangeScopeVisibility(Visibility notVisible) { using var app = Application.AttachOrLaunch(ExeFileName, WindowName); var window = app.MainWindow; var scope = window.FindGroupBox("Scope"); var node = window.FindGroupBox("Node"); var visibilityComboBox = window.FindComboBox("ScopeVisibilityComboBox"); Assert.AreEqual("HasError: False", scope.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.IsEmpty(scope.GetErrors()); Assert.AreEqual("Children: 0", node.FindTextBlock("ChildCountTextBlock").Text); Assert.AreEqual("HasError: False", node.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.IsEmpty(node.GetErrors()); Assert.AreEqual("Gu.Wpf.ValidationScope.ValidNode", node.FindTextBlock("NodeTypeTextBlock").Text); window.FindTextBox("TextBox").Text = "a"; var expectedErrors = new[] { "Value 'a' could not be converted." }; Assert.AreEqual("HasError: True", scope.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.AreEqual(expectedErrors, scope.GetErrors()); Assert.AreEqual("Children: 1", node.FindTextBlock("ChildCountTextBlock").Text); Assert.AreEqual("HasError: True", node.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.AreEqual(expectedErrors, node.GetErrors()); Assert.AreEqual("Gu.Wpf.ValidationScope.ScopeNode", node.FindTextBlock("NodeTypeTextBlock").Text); visibilityComboBox.Select(notVisible.ToString()); Assert.AreEqual("HasError: False", scope.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.IsEmpty(scope.GetErrors()); Assert.AreEqual("Children: 0", node.FindTextBlock("ChildCountTextBlock").Text); Assert.AreEqual("HasError: False", node.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.IsEmpty(node.GetErrors()); Assert.AreEqual("Gu.Wpf.ValidationScope.ValidNode", node.FindTextBlock("NodeTypeTextBlock").Text); visibilityComboBox.Select("Visible"); Assert.AreEqual("HasError: True", scope.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.AreEqual(expectedErrors, scope.GetErrors()); Assert.AreEqual("Children: 1", node.FindTextBlock("ChildCountTextBlock").Text); Assert.AreEqual("HasError: True", node.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.AreEqual(expectedErrors, node.GetErrors()); Assert.AreEqual("Gu.Wpf.ValidationScope.ScopeNode", node.FindTextBlock("NodeTypeTextBlock").Text); window.FindTextBox("TextBox").Text = "1"; Assert.AreEqual("HasError: False", scope.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.IsEmpty(scope.GetErrors()); Assert.AreEqual("Children: 0", node.FindTextBlock("ChildCountTextBlock").Text); Assert.AreEqual("HasError: False", node.FindTextBlock("HasErrorTextBlock").Text); CollectionAssert.IsEmpty(node.GetErrors()); Assert.AreEqual("Gu.Wpf.ValidationScope.ValidNode", node.FindTextBlock("NodeTypeTextBlock").Text); }
public void ZoomUniformToFill() { using (var app = Application.AttachOrLaunch(Application.FindExe("Gu.Wpf.Geometry.Demo.exe"), "ZoomWindow")) { var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); window.FindButton("UniformToFill").Click(); var size = Size.Parse(renderSize.Text); var expectedScale = Math.Max(size.Width / 300, size.Height / 400); var matrix = Matrix.Parse(contentMatrix.Text); Assert.AreEqual(expectedScale, matrix.M11, 1E-3); Assert.AreEqual(expectedScale, matrix.M22, 1E-3); var expectedOffsetX = size.Width < 300 ? (size.Width - (expectedScale * 300)) / 2 : 0; Assert.AreEqual(expectedOffsetX, matrix.OffsetX, 1E-3); var expectedOffsetY = size.Height < 400 ? (size.Height - (expectedScale * 400)) / 2 : 0; Assert.AreEqual(expectedOffsetY, matrix.OffsetY, 1E-3); } }
public void Decrease() { using var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName); var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); window.FindButton("Uniform").Invoke(); var zoomButton = window.FindButton("Decrease"); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("0.31,0,0,0.31,146.5,62", contentMatrix.Text); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("0.155,0,0,0.155,169.75,93", contentMatrix.Text); }
public void Increase() { using var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName); var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); window.FindButton("Uniform").Invoke(); var zoomButton = window.FindButton("Increase"); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("1.24,0,0,1.24,7,-124", contentMatrix.Text); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("2.48,0,0,2.48,-179,-372", contentMatrix.Text); }
public void ZoomUniformToFill() { using var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName); var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); var zoomButton = window.FindButton("UniformToFill"); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("1.28667,0,0,1.28667,0,-133.33333", contentMatrix.Text); window.FindButton("None").Click(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("Identity", contentMatrix.Text); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 248", renderSize.Text); Assert.AreEqual("1.28667,0,0,1.28667,0,-133.33333", contentMatrix.Text); }
public void MouseWheelTopLeft() { using (var app = Application.AttachOrLaunch(Application.FindExe("Gu.Wpf.Geometry.Demo.exe"), "ZoomWindow")) { var window = app.MainWindow; window.FindButton("None").Invoke(); var contentMatrix = window.FindTextBlock("ContentMatrix"); var image = window.FindFirstDescendant(ControlType.Image); var topLeft = image.Bounds.TopLeft(); Mouse.Position = topLeft; Assert.AreEqual("Identity", contentMatrix.Text); Mouse.Scroll(1); app.WaitWhileBusy(); app.WaitWhileBusy(); var matrix = Matrix.Parse(contentMatrix.Text); Assert.AreEqual(1.05, matrix.M11, 1E-3); Assert.AreEqual(1.05, matrix.M22, 1E-3); Assert.AreEqual(0, matrix.OffsetX, 1E-2); Assert.AreEqual(0, matrix.OffsetY, 1E-2); } }
public void ZoomUniform() { using (var app = Application.AttachOrLaunch("Gu.Wpf.Geometry.Demo.exe", WindowName)) { var window = app.MainWindow; var renderSize = window.FindTextBlock("Size"); var contentMatrix = window.FindTextBlock("ContentMatrix"); var zoomButton = window.FindButton("Uniform"); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("0.6225,0,0,0.6225,99.625,-1.4210854715202E-14", contentMatrix.Text); window.FindButton("None").Click(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("Identity", contentMatrix.Text); Assert.AreEqual(true, zoomButton.IsEnabled); zoomButton.Click(); Assert.AreEqual("386, 249", renderSize.Text); Assert.AreEqual("0.6225,0,0,0.6225,99.625,-1.4210854715202E-14", contentMatrix.Text); } }