public void SendsEventWhenItemAdded() { List <int> list = new List <int> { 40, 70, 8, 3, 1, 2 }; var collection = new ObservableGroupedOrderedCollection <int>(i => i, i => i, i => i.ToString().Length); collection.ReplaceWith(list); var scheduler = new TestScheduler(); var observer = scheduler.CreateObserver <ICollectionChange>(); collection.CollectionChange.Subscribe(observer); collection.InsertItem(20); ICollectionChange change = new AddRowCollectionChange <int>(new SectionedIndex(1, 0), 20); observer.Messages.AssertEqual( OnNext(0, change) ); }
public void SendsCreationEventIfUpdateCantFindItem() { List <MockItem> list = new List <MockItem> { new MockItem { Id = 0, Description = "A" }, new MockItem { Id = 1, Description = "B" }, new MockItem { Id = 2, Description = "C" }, new MockItem { Id = 3, Description = "D" } }; var collection = new ObservableGroupedOrderedCollection <MockItem>(i => i.Id, i => i.Description, i => i.Description.Length); collection.ReplaceWith(list); var scheduler = new TestScheduler(); var observer = scheduler.CreateObserver <ICollectionChange>(); collection.CollectionChange.Subscribe(observer); var updated = new MockItem { Id = 5, Description = "E" }; collection.UpdateItem(updated.Id, updated); ICollectionChange change = new AddRowCollectionChange <MockItem>(new SectionedIndex(0, 4), updated); observer.Messages.AssertEqual( OnNext(0, change) ); }
private void add(AddRowCollectionChange <TModel> change) { tableView.InsertRows(change.Index.ToIndexPaths(), UITableViewRowAnimation.Automatic); }