RangedObservableCollection <T> ct <T>(IEnumerable <T> ts) { var a = new RangedObservableCollection <T>(); a.AddRange(ts); return(a); }
public void RemoveRangeTest() { var source = new RangedObservableCollection <Person>(new[] { new Person { Name = "tanaka1", IsRemoved = false }, new Person { Name = "tanaka2", IsRemoved = true }, new Person { Name = "tanaka3", IsRemoved = false }, new Person { Name = "tanaka4", IsRemoved = true }, new Person { Name = "tanaka5", IsRemoved = false }, }); var filtered = source.ToFilteredReadOnlyObservableCollection(x => !x.IsRemoved); var buffer = new List <NotifyCollectionChangedEventArgs>(); filtered.Is(source[0], source[2], source[4]); source.RemoveRange(new[] { source[0], source[1], source[2], }); filtered.Is(source.Last()); }
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 ToDoListPageViewModel(INavigationService navigationService, RealmService realmService ) : base(navigationService) { Title = AppResources.ViewATitle; RealmService = realmService; Tasks = new RangedObservableCollection <ToDoListItemViewModel>(); AddCommand = new DelegateCommand(AddTask); }
public void ReplaceRangeTest() { var c = new RangedObservableCollection <Person>(); var filtered = c.ToFilteredReadOnlyObservableCollection(x => x.IsRemoved); var people = Enumerable.Range(1, 1000000).Select(x => new Person { Name = $"tanaka {x}", IsRemoved = x % 2 == 0, }); c.ReplaceRange(people); filtered.Count.Is(500000); }
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()); }
private void Load() { if (records == null) { records = TmpData.PasswordKeeper.Records; } CharacterGroupings groupings = new CharacterGroupings(); observablerecords = new RangedObservableCollection <PasswordRecordViewModelGroup>(records.Select(a => PasswordRecordViewModel.CreateFromRecord(a)) .OrderBy(a => a.DisplayName).GroupBy((a) => groupings.Lookup(a.DisplayName)) .Select(a => new PasswordRecordViewModelGroup(a.Key, ct(a)))); UpdateForVisualState(AdaptiveStates.CurrentState); // Don't play a content transition for first item load. // Sometimes, this content will be animated as part of the page transition. DisableContentTransitions(); }
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); }