|
|
@@ -128,6 +128,28 @@ namespace Perspex.Controls.UnitTests
|
|
|
Assert.Equal(new[] { "Foo", "Bar", "Baz " }, result);
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public void Removing_Item_Should_Remove_Itself_And_Children_From_Index()
|
|
|
+ {
|
|
|
+ var tree = CreateTestTreeData();
|
|
|
+ var target = new TreeView
|
|
|
+ {
|
|
|
+ Template = CreateTreeViewTemplate(),
|
|
|
+ DataTemplates = CreateNodeDataTemplate(),
|
|
|
+ Items = tree,
|
|
|
+ };
|
|
|
+
|
|
|
+ var root = new TestRoot();
|
|
|
+ root.Child = target;
|
|
|
+ ApplyTemplates(target);
|
|
|
+
|
|
|
+ Assert.Equal(4, target.ItemContainerGenerator.Index.Items.Count());
|
|
|
+
|
|
|
+ tree[0].Children.RemoveAt(1);
|
|
|
+
|
|
|
+ Assert.Equal(2, target.ItemContainerGenerator.Index.Items.Count());
|
|
|
+ }
|
|
|
+
|
|
|
[Fact]
|
|
|
public void DataContexts_Should_Be_Correctly_Set()
|
|
|
{
|
|
|
@@ -180,12 +202,12 @@ namespace Perspex.Controls.UnitTests
|
|
|
|
|
|
private IList<Node> CreateTestTreeData()
|
|
|
{
|
|
|
- return new[]
|
|
|
+ return new PerspexList<Node>
|
|
|
{
|
|
|
new Node
|
|
|
{
|
|
|
Value = "Root",
|
|
|
- Children = new[]
|
|
|
+ Children = new PerspexList<Node>
|
|
|
{
|
|
|
new Node
|
|
|
{
|
|
|
@@ -194,7 +216,7 @@ namespace Perspex.Controls.UnitTests
|
|
|
new Node
|
|
|
{
|
|
|
Value = "Child2",
|
|
|
- Children = new[]
|
|
|
+ Children = new PerspexList<Node>
|
|
|
{
|
|
|
new Node
|
|
|
{
|
|
|
@@ -271,7 +293,7 @@ namespace Perspex.Controls.UnitTests
|
|
|
private class Node
|
|
|
{
|
|
|
public string Value { get; set; }
|
|
|
- public IList<Node> Children { get; set; }
|
|
|
+ public IPerspexList<Node> Children { get; set; }
|
|
|
}
|
|
|
}
|
|
|
}
|