Browse Source

Added tests for selection after initialization.

Steven Kirk 6 years ago
parent
commit
8093716a36

+ 37 - 0
tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs

@@ -109,6 +109,43 @@ namespace Avalonia.Controls.UnitTests.Primitives
             Assert.True(items[1].IsSelected);
         }
 
+        [Fact]
+        public void SelectedIndex_Should_Be_Minus_1_After_Initialize()
+        {
+            var items = new[]
+            {
+                new Item(),
+                new Item(),
+            };
+
+            var target = new ListBox();
+            target.BeginInit();
+            target.Items = items;
+            target.Template = Template();
+            target.EndInit();
+
+            Assert.Equal(-1, target.SelectedIndex);
+        }
+
+        [Fact]
+        public void SelectedIndex_Should_Be_0_After_Initialize_With_AlwaysSelected()
+        {
+            var items = new[]
+            {
+                new Item(),
+                new Item(),
+            };
+
+            var target = new ListBox();
+            target.BeginInit();
+            target.SelectionMode = SelectionMode.Single | SelectionMode.AlwaysSelected;
+            target.Items = items;
+            target.Template = Template();
+            target.EndInit();
+
+            Assert.Equal(0, target.SelectedIndex);
+        }
+
         [Fact]
         public void Setting_SelectedIndex_During_Initialize_Should_Select_Item_When_AlwaysSelected_Is_Used()
         {