diff --git a/tests/Avalonia.Visuals.UnitTests/Media/RectangleGeometryTests.cs b/tests/Avalonia.Visuals.UnitTests/Media/RectangleGeometryTests.cs new file mode 100644 index 0000000000..9f94e7fab4 --- /dev/null +++ b/tests/Avalonia.Visuals.UnitTests/Media/RectangleGeometryTests.cs @@ -0,0 +1,39 @@ +using System; +using Avalonia.Media; +using Avalonia.Platform; +using Avalonia.UnitTests; +using Moq; +using Xunit; + +namespace Avalonia.Visuals.UnitTests.Media +{ + public class RectangleGeometryTests + { + [Fact] + public void Rectangle_With_Transform_Can_Be_Changed() + { + using (UnitTestApplication.Start(GetServices())) + { + var target = new RectangleGeometry + { + Rect = new Rect(0, 0, 100, 100), + Transform = new RotateTransform(45), + }; + + target.Rect = new Rect(50, 50, 150, 150); + } + } + + private TestServices GetServices() + { + var context = Mock.Of(); + var transformedGeometry = new Mock(); + var streamGeometry = Mock.Of(x => + x.Open() == context && + x.WithTransform(It.IsAny()) == transformedGeometry.Object); + var renderInterface = Mock.Of(x => + x.CreateStreamGeometry() == streamGeometry); + return new TestServices(renderInterface: renderInterface); + } + } +}