public void CollectionShouldBeUpdated(int oldIndex, int newIndex) { Setup(); var items = new MvxObservableCollection <int> { 1, 2, 3, 4, 5, 6 }; var sut = new WrappedObservableCollection <int, string>(items, Factory); items.Move(oldIndex, newIndex); Assert.AreEqual(Transform(items), sut); }
public void CollectionShouldBeUpdated(int oldIndex, int newIndex) { Setup(); var items = new MvxObservableCollection <int[]>(new[] { new[] { 1, 2 }, new[] { 3 }, new[] { 4, 5, 6 } }); var flatOldItems = GetFlatItems(items).ToArray(); var flatOldCount = flatOldItems.Length; var sut = new FlatObservableCollection <int>(items); items.Move(oldIndex, newIndex); var flatNewItems = GetFlatItems(items).ToArray(); var flatNewCount = flatNewItems.Length; Assert.AreEqual(flatOldCount, sut.Count); Assert.AreEqual(flatNewCount, sut.Count); Assert.AreEqual(flatNewItems, sut); }
public void MoveEventShouldBeRaised(int oldIndex, int newIndex) { Setup(); var events = new List <NotifyCollectionChangedEventArgs>(); var items = new MvxObservableCollection <int> { 1, 2, 3, 4, 5, 6 }; var changedItems = new[] { Transform(items).ElementAt(oldIndex) }; var sut = new WrappedObservableCollection <int, string>(items, Factory); sut.CollectionChanged += (_, args) => events.Add(args); items.Move(oldIndex, newIndex); Assert.AreEqual(1, events.Count); Assert.AreEqual(NotifyCollectionChangedAction.Move, events[0].Action); Assert.AreEqual(oldIndex, events[0].OldStartingIndex); Assert.AreEqual(newIndex, events[0].NewStartingIndex); Assert.AreEqual(changedItems, events[0].NewItems); Assert.AreEqual(changedItems, events[0].OldItems); }
public void MoveEventShouldBeRaised(int oldIndex, int newIndex) { Setup(); var events = new List <NotifyCollectionChangedEventArgs>(); var items = new MvxObservableCollection <int[]>(new[] { new[] { 1, 2 }, new[] { 3 }, new[] { 4, 5, 6 } }); var flatOldIndex = GetFlatSectionIndex(items, oldIndex); var sut = new FlatObservableCollection <int>(items); sut.CollectionChanged += (_, args) => events.Add(args); items.Move(oldIndex, newIndex); var flatNewIndex = GetFlatSectionIndex(items, newIndex); var flatNewItems = GetFlatItems(items.Take(newIndex, 1)); Assert.AreEqual(1, events.Count); Assert.AreEqual(NotifyCollectionChangedAction.Move, events[0].Action); Assert.AreEqual(flatOldIndex, events[0].OldStartingIndex); Assert.AreEqual(flatNewIndex, events[0].NewStartingIndex); Assert.AreEqual(flatNewItems, events[0].NewItems); Assert.AreEqual(flatNewItems, events[0].OldItems); }