mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-27 12:17:42 +08:00
28 lines
1.4 KiB
C#
28 lines
1.4 KiB
C#
using AtomUI.Controls.Data;
|
|
using Shouldly;
|
|
using Xunit;
|
|
using ListViewControl = AtomUI.Desktop.Controls.ListView;
|
|
|
|
namespace AtomUI.Desktop.Controls.Tests.ListView;
|
|
|
|
public class ListViewSelectionContractTests
|
|
{
|
|
[Fact]
|
|
public void Selection_Contract_Exposes_Only_Source_Index_Commands()
|
|
{
|
|
typeof(ListViewControl).GetProperty(nameof(ListViewControl.Selection))!.CanWrite.ShouldBeFalse();
|
|
typeof(ListViewControl).GetProperty(nameof(ListViewControl.SelectedIndexes))!.CanWrite.ShouldBeFalse();
|
|
typeof(ListViewControl).GetProperty(nameof(ListViewControl.SelectedItem))!.CanWrite.ShouldBeFalse();
|
|
typeof(ListViewControl).GetProperty(nameof(ListViewControl.SelectedItems))!.CanWrite.ShouldBeFalse();
|
|
typeof(ListViewControl).GetProperty(nameof(ListViewControl.SelectedValue))!.CanWrite.ShouldBeFalse();
|
|
typeof(ListViewControl).GetProperty(nameof(ListViewControl.SelectedIndex))!.CanWrite.ShouldBeTrue();
|
|
|
|
typeof(IListViewSelection).GetProperty(nameof(IListViewSelection.SelectedIndexes))!
|
|
.PropertyType.ShouldBe(typeof(IReadOnlyList<int>));
|
|
typeof(IListViewSelection).GetMethod(nameof(IListViewSelection.Select))!
|
|
.GetParameters().Single().ParameterType.ShouldBe(typeof(int));
|
|
typeof(IListItemData).GetProperty("IsSelected").ShouldBeNull();
|
|
new ListItemData { Content = "same" }.Equals(new ListItemData { Content = "same" }).ShouldBeFalse();
|
|
}
|
|
}
|