using System; using Avalonia.Controls; namespace Avalonia.Layout.UnitTests { internal class LayoutTestControl : Decorator { public bool Measured { get; set; } public bool Arranged { get; set; } public Func DoMeasureOverride { get; set; } public Func DoArrangeOverride { get; set; } protected override Size MeasureOverride(Size availableSize) { Measured = true; return DoMeasureOverride != null ? DoMeasureOverride(this, availableSize) : base.MeasureOverride(availableSize); } protected override Size ArrangeOverride(Size finalSize) { Arranged = true; return DoArrangeOverride != null ? DoArrangeOverride(this, finalSize) : base.ArrangeOverride(finalSize); } } }