using Avalonia.Controls; using Avalonia.Layout; using Avalonia.Media; using Avalonia.UnitTests; using Avalonia.VisualTree; using Xunit; namespace Avalonia.Base.UnitTests { public class VisualExtensionsTests { [Fact] public void FindAncestorOfType_Finds_Direct_Parent() { StackPanel target; var root = new TestRoot { Child = target = new StackPanel() }; Assert.Equal(root, target.FindAncestorOfType()); } [Fact] public void FindAncestorOfType_Finds_Ancestor_Of_Nested_Child() { Button target; var root = new TestRoot { Child = new StackPanel { Children = { new StackPanel { Children = { (target = new Button()) } } } } }; Assert.Equal(root, target.FindAncestorOfType()); } [Fact] public void FindDescendantOfType_Finds_Direct_Child() { StackPanel target; var root = new TestRoot { Child = target = new StackPanel() }; Assert.Equal(target, root.FindDescendantOfType()); } [Fact] public void FindDescendantOfType_Finds_Nested_Child() { Button target; var root = new TestRoot { Child = new StackPanel { Children = { new StackPanel { Children = { (target = new Button()) } } } } }; Assert.Equal(target, root.FindDescendantOfType