RangedObservableCollection <T> ct <T>(IEnumerable <T> ts) { var a = new RangedObservableCollection <T>(); a.AddRange(ts); return(a); }
public void AddRangeTest() { var source = new RangedObservableCollection <int>(); var target = source.ToReadOnlyReactiveCollection(x => $"{x}"); source.Add(1); target.Is("1"); source.AddRange(new[] { 2, 3, 4 }); target.Is("1", "2", "3", "4"); }
public void AddRangeSmallItemsCaseTest() { var c = new RangedObservableCollection <Person>(); var filtered = c.ToFilteredReadOnlyObservableCollection(x => x.IsRemoved); var people = Enumerable.Range(1, 6).Select(x => new Person { Name = $"tanaka {x}", IsRemoved = x % 2 == 0, }); c.AddRange(people); filtered.Count.Is(3); }
public void AddRangeRaisesCorrectCollectionChangedEvent() { var collection = new RangedObservableCollection <int>(); collection.CollectionChanged += (s, e) => { Assert.Equal(NotifyCollectionChangedAction.Add, e.Action); Assert.Null(e.OldItems); Assert.Equal(ItemsToAdd, e.NewItems); }; collection.AddRange(ItemsToAdd); Assert.Equal(ItemsToAdd, collection.ToArray()); }
public void AddRangeRaisesCollectionChangedOnce() { var collection = new RangedObservableCollection <int>(); var didTrigger = false; collection.CollectionChanged += (s, e) => { Assert.False(didTrigger); didTrigger = true; }; collection.AddRange(ItemsToAdd); Assert.True(didTrigger); }
public void RemoveRangeRaisesCorrectCollectionChangedEventForNonExistentRemoves() { var collection = new RangedObservableCollection <int>(); collection.AddRange(ItemsToAdd); collection.CollectionChanged += (s, e) => { Assert.Equal(NotifyCollectionChangedAction.Remove, e.Action); Assert.Equal(new[] { 1, 2, 3, 4, 5 }, e.OldItems); Assert.Null(e.NewItems); }; collection.RemoveRange(new[] { 1, 2, 3, 4, 5, 60, 70, 80, 90, 100 }); Assert.Equal(new[] { 6, 7, 8, 9, 0 }, collection.ToArray()); }
public void RemoveRangeDoesNotRaiseCollectionChangedForMismatchingItems() { var collection = new RangedObservableCollection <int>(); collection.AddRange(ItemsToAdd); var didTrigger = false; collection.CollectionChanged += (s, e) => { Assert.False(didTrigger); didTrigger = true; }; collection.RemoveRange(AlternateItemsToAdd); Assert.False(didTrigger); }