diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/RangeBaseTests.cs b/tests/Avalonia.Controls.UnitTests/Primitives/RangeBaseTests.cs
index 42578c61ac..0d88a1a9ff 100644
--- a/tests/Avalonia.Controls.UnitTests/Primitives/RangeBaseTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/Primitives/RangeBaseTests.cs
@@ -8,6 +8,7 @@ using Avalonia.Controls.Templates;
using Avalonia.Data;
using Avalonia.Markup.Data;
using Avalonia.Styling;
+using Avalonia.UnitTests;
using Xunit;
namespace Avalonia.Controls.UnitTests.Primitives
@@ -160,6 +161,38 @@ namespace Avalonia.Controls.UnitTests.Primitives
Assert.Equal(expected, track.Value);
}
+ [Fact]
+ public void Coercion_Should_Not_Be_Done_During_Initialization()
+ {
+ var target = new TestRange();
+
+ target.BeginInit();
+
+ var root = new TestRoot(target);
+ target.Minimum = 1;
+ Assert.Equal(0, target.Value);
+
+ target.Value = 50;
+ target.EndInit();
+
+ Assert.Equal(50, target.Value);
+ }
+
+ [Fact]
+ public void Coercion_Should_Be_Done_After_Initialization()
+ {
+ var target = new TestRange();
+
+ target.BeginInit();
+
+ var root = new TestRoot(target);
+ target.Minimum = 1;
+
+ target.EndInit();
+
+ Assert.Equal(1, target.Value);
+ }
+
private class TestRange : RangeBase
{
}
@@ -199,4 +232,4 @@ namespace Avalonia.Controls.UnitTests.Primitives
}
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
index 7fe0fc4a08..720ff3b0de 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
@@ -907,6 +907,25 @@ do we need it?")]
}
}
+ [Fact]
+ public void Slider_Properties_Can_Be_Set_In_Any_Order()
+ {
+ using (UnitTestApplication.Start(TestServices.MockWindowingPlatform))
+ {
+ var xaml = @"
+
+
+";
+
+ var window = AvaloniaXamlLoader.Parse(xaml);
+ var slider = (Slider)window.Content;
+
+ Assert.Equal(0, slider.Minimum);
+ Assert.Equal(1000, slider.Maximum);
+ Assert.Equal(500, slider.Value);
+ }
+ }
+
private class SelectedItemsViewModel : INotifyPropertyChanged
{
public string[] Items { get; set; }