public void CollectionShouldBeUpdated(int index, int count) { Setup(); var items = new MvxObservableCollection <int[]>(new[] { new[] { 1, 2 }, new[] { 3 }, new[] { 4, 5, 6 } }); var flatItems = GetFlatItems(items.Take(index, count)).ToArray(); var flatCount = GetFlatItems(items).Count() - flatItems.Length; var sut = new FlatObservableCollection <int>(items); items.RemoveRange(index, count); Assert.AreEqual(flatCount, sut.Count); CollectionAssert.IsNotSubsetOf(flatItems, sut); }
public void RemoveEventShouldBeRaised(int index, int count) { Setup(); var events = new List <NotifyCollectionChangedEventArgs>(); var items = new MvxObservableCollection <int[]>(new[] { new[] { 1, 2 }, new[] { 3 }, new[] { 4, 5, 6 } }); var flatIndex = GetFlatSectionIndex(items, index); var flatItems = GetFlatItems(items.Take(index, count)); var sut = new FlatObservableCollection <int>(items); sut.CollectionChanged += (_, args) => events.Add(args); items.RemoveRange(index, count); Assert.AreEqual(1, events.Count); Assert.AreEqual(NotifyCollectionChangedAction.Remove, events[0].Action); Assert.AreEqual(flatIndex, events[0].OldStartingIndex); Assert.AreEqual(flatItems, events[0].OldItems); }