diff --git a/tests/Avalonia.Controls.UnitTests/Selection/InternalSelectionModelTests.cs b/tests/Avalonia.Controls.UnitTests/Selection/InternalSelectionModelTests.cs index bb893bd35e..ce3e698cf3 100644 --- a/tests/Avalonia.Controls.UnitTests/Selection/InternalSelectionModelTests.cs +++ b/tests/Avalonia.Controls.UnitTests/Selection/InternalSelectionModelTests.cs @@ -232,6 +232,22 @@ namespace Avalonia.Controls.UnitTests.Selection Assert.Contains(nameof(target.SelectedItem), changed); } + [Fact] + public void Preserves_SelectedItem_On_Items_Reset() + { + var items = new ResettingCollection(new[] { "foo", "bar", "baz" }); + var target = CreateTarget(source: items); + + target.SelectedItem = "foo"; + + Assert.Equal(0, target.SelectedIndex); + + items.Reset(new string[] { "baz", "foo", "bar" }); + + Assert.Equal("foo", target.SelectedItem); + Assert.Equal(1, target.SelectedIndex); + } + [Fact] public void Preserves_Selection_On_Source_Changed() {