Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
 public void OneTimeTearDown()
 {
     Application.KillLaunched(Application.FindExe("Gu.Wpf.Geometry.Demo.exe"));
 }
Ejemplo n.º 5
0
 public virtual void OneTimeSetUp()
 {
     this.application?.Dispose();
     this.application = Application.Launch(Application.FindExe("Gu.Wpf.Media.Demo.exe"), this.WindowName);
 }