EllipseTests.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using Avalonia.Controls.Shapes;
  2. using Avalonia.Media;
  3. using Avalonia.UnitTests;
  4. using Xunit;
  5. namespace Avalonia.Controls.UnitTests.Shapes
  6. {
  7. public class EllipseTests : ScopedTestBase
  8. {
  9. [Fact]
  10. public void Measure_Does_Not_Set_RenderedGeometry_Rect()
  11. {
  12. using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface);
  13. var target = new Ellipse();
  14. target.Measure(new Size(100, 100));
  15. var geometry = Assert.IsType<EllipseGeometry>(target.RenderedGeometry);
  16. Assert.Equal(default, geometry.Rect);
  17. }
  18. [Fact]
  19. public void Arrange_Sets_RenderedGeometry_Properties()
  20. {
  21. using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface);
  22. var target = new Ellipse();
  23. target.Measure(new Size(100, 100));
  24. target.Arrange(new Rect(0, 0, 100, 100));
  25. var geometry = Assert.IsType<EllipseGeometry>(target.RenderedGeometry);
  26. Assert.Equal(new Rect(0, 0, 100, 100), geometry.Rect);
  27. }
  28. [Fact]
  29. public void Rearranging_Updates_RenderedGeometry_Rect()
  30. {
  31. using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface);
  32. var target = new Ellipse();
  33. target.Measure(new Size(100, 100));
  34. target.Arrange(new Rect(0, 0, 100, 100));
  35. var geometry = Assert.IsType<EllipseGeometry>(target.RenderedGeometry);
  36. Assert.Equal(new Rect(0, 0, 100, 100), geometry.Rect);
  37. target.Measure(new Size(200, 200));
  38. target.Arrange(new Rect(0, 0, 200, 200));
  39. geometry = Assert.IsType<EllipseGeometry>(target.RenderedGeometry);
  40. Assert.Equal(new Rect(0, 0, 200, 200), geometry.Rect);
  41. }
  42. }
  43. }