SceneTests.cs 952 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Linq;
  3. using Avalonia.Controls;
  4. using Avalonia.Rendering.SceneGraph;
  5. using Avalonia.UnitTests;
  6. using Xunit;
  7. namespace Avalonia.Visuals.UnitTests.Rendering.SceneGraph
  8. {
  9. public class SceneTests
  10. {
  11. [Fact]
  12. public void Cloning_Scene_Should_Retain_Layers_But_Not_DirtyRects()
  13. {
  14. Decorator decorator;
  15. var tree = new TestRoot
  16. {
  17. Child = decorator = new Decorator(),
  18. };
  19. var scene = new Scene(tree);
  20. scene.Layers.Add(tree);
  21. scene.Layers.Add(decorator);
  22. scene.Layers[tree].Dirty.Add(new Rect(0, 0, 100, 100));
  23. scene.Layers[decorator].Dirty.Add(new Rect(0, 0, 50, 100));
  24. scene = scene.CloneScene();
  25. Assert.Equal(2, scene.Layers.Count());
  26. Assert.Empty(scene.Layers[0].Dirty);
  27. Assert.Empty(scene.Layers[1].Dirty);
  28. }
  29. }
  30. }