|
|
|
@ -206,6 +206,30 @@ namespace Avalonia.Controls.UnitTests.Presenters |
|
|
|
Assert.Equal(expected, actual); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Inserting_Items_Before_Visibile_Containers_Should_Update_Containers() |
|
|
|
{ |
|
|
|
var target = CreateTarget(); |
|
|
|
|
|
|
|
target.ApplyTemplate(); |
|
|
|
target.Measure(new Size(100, 100)); |
|
|
|
target.Arrange(new Rect(0, 0, 100, 100)); |
|
|
|
|
|
|
|
((ILogicalScrollable)target).Offset = new Vector(0, 5); |
|
|
|
|
|
|
|
var expected = Enumerable.Range(5, 10).Select(x => $"Item {x}").ToList(); |
|
|
|
var items = (ObservableCollection<string>)target.Items; |
|
|
|
var actual = target.Panel.Children.Select(x => x.DataContext).ToList(); |
|
|
|
|
|
|
|
Assert.Equal(expected, actual); |
|
|
|
|
|
|
|
items.Insert(0, "Inserted"); |
|
|
|
|
|
|
|
expected = Enumerable.Range(4, 10).Select(x => $"Item {x}").ToList(); |
|
|
|
actual = target.Panel.Children.Select(x => x.DataContext).ToList(); |
|
|
|
Assert.Equal(expected, actual); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Removing_First_Materialized_Item_Should_Update_Containers() |
|
|
|
{ |
|
|
|
@ -477,7 +501,6 @@ namespace Avalonia.Controls.UnitTests.Presenters |
|
|
|
target.Arrange(new Rect(0, 0, 100, 100)); |
|
|
|
|
|
|
|
var expected = Enumerable.Range(0, 6).Select(x => $"Item {x}").ToList(); |
|
|
|
var items = (ObservableCollection<string>)target.Items; |
|
|
|
var actual = target.Panel.Children.Select(x => x.DataContext).ToList(); |
|
|
|
|
|
|
|
Assert.Equal(expected, actual); |
|
|
|
|