Browse Source

More failing SelectionModel tests.

pull/4659/head
Steven Kirk 6 years ago
parent
commit
22580652fa
  1. 56
      tests/Avalonia.Controls.UnitTests/Selection/SelectionModelTests_Multiple.cs
  2. 56
      tests/Avalonia.Controls.UnitTests/Selection/SelectionModelTests_Single.cs

56
tests/Avalonia.Controls.UnitTests/Selection/SelectionModelTests_Multiple.cs

@ -121,6 +121,34 @@ namespace Avalonia.Controls.UnitTests.Selection
Assert.Equal(0, raised);
}
[Fact]
public void Initializing_Source_Raises_SelectedItems_PropertyChanged()
{
var target = CreateTarget(false);
var selectedItemRaised = 0;
var selectedItemsRaised = 0;
target.Select(1);
target.Select(2);
target.PropertyChanged += (s, e) =>
{
if (e.PropertyName == nameof(target.SelectedItem))
{
++selectedItemRaised;
}
else if (e.PropertyName == nameof(target.SelectedItems))
{
++selectedItemsRaised;
}
};
target.Source = new[] { "foo", "bar", "baz" };
Assert.Equal(1, selectedItemRaised);
Assert.Equal(1, selectedItemsRaised);
}
[Fact]
public void Initializing_Source_Respects_Range_SourceItem_Order()
{
@ -152,6 +180,34 @@ namespace Avalonia.Controls.UnitTests.Selection
Assert.Equal("bar", target.SelectedItem);
Assert.Equal(new[] { "bar" }, target.SelectedItems);
}
[Fact]
public void Changing_Source_To_Null_Raises_SelectedItems_PropertyChanged()
{
var target = CreateTarget();
var selectedItemRaised = 0;
var selectedItemsRaised = 0;
target.Select(1);
target.Select(2);
target.PropertyChanged += (s, e) =>
{
if (e.PropertyName == nameof(target.SelectedItem))
{
++selectedItemRaised;
}
else if (e.PropertyName == nameof(target.SelectedItems))
{
++selectedItemsRaised;
}
};
target.Source = null;
Assert.Equal(1, selectedItemRaised);
Assert.Equal(1, selectedItemsRaised);
}
}
public class SelectedIndex

56
tests/Avalonia.Controls.UnitTests/Selection/SelectionModelTests_Single.cs

@ -174,6 +174,33 @@ namespace Avalonia.Controls.UnitTests.Selection
Assert.Equal(new[] { "bar" }, target.SelectedItems);
}
[Fact]
public void Initializing_Source_Raises_SelectedItems_PropertyChanged()
{
var target = CreateTarget(false);
var selectedItemRaised = 0;
var selectedItemsRaised = 0;
target.Select(1);
target.PropertyChanged += (s, e) =>
{
if (e.PropertyName == nameof(target.SelectedItem))
{
++selectedItemRaised;
}
else if (e.PropertyName == nameof(target.SelectedItems))
{
++selectedItemsRaised;
}
};
target.Source = new[] { "foo", "bar", "baz" };
Assert.Equal(1, selectedItemRaised);
Assert.Equal(1, selectedItemsRaised);
}
[Fact]
public void Changing_Source_To_Null_Doesnt_Clear_Selection()
{
@ -194,7 +221,7 @@ namespace Avalonia.Controls.UnitTests.Selection
}
[Fact]
public void Changing_Source_To_NonNUll_First_Clears_Old_Selection()
public void Changing_Source_To_NonNull_First_Clears_Old_Selection()
{
var target = CreateTarget();
var raised = 0;
@ -219,6 +246,33 @@ namespace Avalonia.Controls.UnitTests.Selection
Assert.Equal(1, raised);
}
[Fact]
public void Changing_Source_To_Null_Raises_SelectedItems_PropertyChanged()
{
var target = CreateTarget();
var selectedItemRaised = 0;
var selectedItemsRaised = 0;
target.Select(1);
target.PropertyChanged += (s, e) =>
{
if (e.PropertyName == nameof(target.SelectedItem))
{
++selectedItemRaised;
}
else if (e.PropertyName == nameof(target.SelectedItems))
{
++selectedItemsRaised;
}
};
target.Source = null;
Assert.Equal(1, selectedItemRaised);
Assert.Equal(1, selectedItemsRaised);
}
[Fact]
public void Raises_PropertyChanged()
{

Loading…
Cancel
Save