RectangleGeometryTests.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Avalonia.Media;
  2. using Avalonia.Platform;
  3. using Avalonia.UnitTests;
  4. using Moq;
  5. using Xunit;
  6. namespace Avalonia.Base.UnitTests.Media
  7. {
  8. public class RectangleGeometryTests
  9. {
  10. [Fact]
  11. public void Rectangle_With_Transform_Can_Be_Changed()
  12. {
  13. using (UnitTestApplication.Start(GetServices()))
  14. {
  15. var target = new RectangleGeometry
  16. {
  17. Rect = new Rect(0, 0, 100, 100),
  18. Transform = new RotateTransform(45),
  19. };
  20. target.Rect = new Rect(50, 50, 150, 150);
  21. }
  22. }
  23. private static TestServices GetServices()
  24. {
  25. var context = Mock.Of<IStreamGeometryContextImpl>();
  26. var transformedGeometry = new Mock<ITransformedGeometryImpl>();
  27. var streamGeometry = Mock.Of<IStreamGeometryImpl>(x =>
  28. x.Open() == context &&
  29. x.WithTransform(It.IsAny<Matrix>()) == transformedGeometry.Object);
  30. var renderInterface = Mock.Of<IPlatformRenderInterface>(x =>
  31. x.CreateStreamGeometry() == streamGeometry);
  32. return new TestServices(renderInterface: renderInterface);
  33. }
  34. }
  35. }