public void ValidateStartingIndexOnAddRangeTest() { var collection = new MvxObservableCollection <string>(); var newItems = new[] { "Bar", "Baz", "Herp", "Derp" }; NotifyCollectionChangedEventHandler handler = (s, a) => { Assert.Equal(0, a.NewStartingIndex); Assert.Equal(newItems.Length, a.NewItems.Count); Assert.Null(a.OldItems); }; collection.CollectionChanged += handler; collection.AddRange(newItems); var newStartIndex = collection.Count; collection.CollectionChanged -= handler; handler = (s, a) => { Assert.Equal(newStartIndex, a.NewStartingIndex); Assert.Equal(newItems.Length, a.NewItems.Count); }; collection.CollectionChanged += handler; collection.AddRange(newItems); }
private async Task PopulateProducts() { try { List <Product> products = await _productService.GetProducts(); Products.Clear(); Products.AddRange(products); } catch (Exception exception) { System.Diagnostics.Debug.WriteLine(exception.Message); } }
public void AddRangeSuppressesChangesTest() { var collection = new MvxObservableCollection <string>(); var invokeCount = 0; collection.CollectionChanged += (s, e) => { invokeCount++; }; collection.Add("Foo"); Assert.Equal(1, invokeCount); Assert.Contains("Foo", collection); var newItems = new[] { "Bar", "Baz", "Herp", "Derp" }; collection.AddRange(newItems); Assert.Equal(2, invokeCount); foreach (var item in newItems) { Assert.Contains(item, collection); } }
async Task LoadHistoryAsync() { try { IsBusy = true; var result = await paymentProcessing.GetPayHistoryAsync(GetPayDateFrom, GetPayDateTo); if (result != null) { isPayHistoryAwailableForUser = true; History.AddRange(result); } else { await Mvx.Resolve <IUserInteraction>().AlertAsync("Sorry, there is no pay history for now.", "Error"); } } catch (NullReferenceException ex) { Debug.WriteLine(ex.Message); await Mvx.Resolve <IUserInteraction>().AlertAsync("Sorry, there is no pay history for now.", "Error"); } catch (Exception ex) { Debug.WriteLine(ex.Message); } finally { IsBusy = false; } }
public void AddRangeIsAddActionTest() { var collection = new MvxObservableCollection <string>(); collection.CollectionChanged += (s, e) => { Assert.Equal(NotifyCollectionChangedAction.Add, e.Action); }; collection.AddRange(new[] { "Bar", "Baz", "Herp", "Derp" }); }
protected override MvxObservableCollection <Recipe> Convert( Dictionary <int, MvxObservableCollection <Recipe> > value, Type targetType, object parameter, CultureInfo culture) { var conjuctionList = new MvxObservableCollection <Recipe>(value[0]); conjuctionList.AddRange(value[1]); return(new MvxObservableCollection <Recipe>(conjuctionList)); }
protected async Task LoadContent() { CanGoNext = false; Loading = true; var userTask = UserViewModel.LoadContent(); var deliveryTask = DeliveryViewModel.LoadContent(); await Task.WhenAll(userTask, deliveryTask); var dataSource = new MvxObservableCollection <IMvxViewModel>(); dataSource.AddRange(UserViewModel.Items); dataSource.AddRange(DeliveryViewModel.Items); Items = dataSource; CanGoNext = true; Loading = false; DeliveryViewModel.PropertyChanged += DeliveryViewModel_PropertyChanged; }
private async Task PopulateCategories() { try { List <Category> categories = await _categoryService.GetCategories(); Categories.Clear(); Categories.AddRange(categories); } catch (Exception exception) { System.Diagnostics.Debug.WriteLine(exception.Message); } }
public TableViewModel(IMvxNavigationService navigationService, IDataBaseService dataBaseService) : base(navigationService, dataBaseService) { _dataBaseService = dataBaseService; _navigationService = navigationService; _items = new MvxObservableCollection <Item>(); _items.Clear(); _items.AddRange(dataBaseService.GetAllItems().ToList()); ItemSelectedCommand = new MvxAsyncCommand <Item>(ItemSelected); RefreshTableCommand = new MvxAsyncCommand(RefreshTable); CreateNewItemCommand = new MvxAsyncCommand(CreateNewItem); }
public void CollectionShouldBeUpdated(params int[][] newItems) { Setup(); var items = new MvxObservableCollection <int[]>(new[] { new[] { 1, 2 }, new[] { 3 } }); var flatItems = GetFlatItems(newItems); var flatCount = GetFlatItems(items).Count() + flatItems.Count(); var sut = new FlatObservableCollection <int>(items); items.AddRange(newItems); Assert.AreEqual(flatCount, sut.Count); Assert.AreEqual(flatItems, sut.TakeLast(newItems.Length)); }
public void CollectionShouldBeUpdated(params int[] newItems) { Setup(); var items = new MvxObservableCollection <int> { 1, 2, 3 }; var index = items.Count; var sut = new WrappedObservableCollection <int, string>(items, Factory); items.AddRange(newItems); Assert.AreEqual(items.Count, sut.Count); Assert.AreEqual(Transform(newItems), sut.Take(index, newItems.Length)); }
private async void LoadDataAsync() { try { NotPayedTrips = new MvxObservableCollection <IQueueItem>(); var getTrips = await paymentProcessing.GetNotPayedTripsAsync(); if (getTrips != null) { NotPayedTrips.AddRange(getTrips?.Trips); Amount = getTrips?.Amount; } } catch (Exception ex) { Debug.WriteLine(ex.Message, ex.StackTrace); await Mvx.Resolve <IUserInteraction>().AlertAsync(ex.Message, "Error"); } }
public void AddEventShouldBeRaised(params int[][] newItems) { Setup(); var events = new List <NotifyCollectionChangedEventArgs>(); var items = new MvxObservableCollection <int[]>(new[] { new[] { 1, 2 }, new[] { 3 } }); var flatIndex = GetFlatSectionIndex(items, items.Count); var flatItems = GetFlatItems(newItems); var sut = new FlatObservableCollection <int>(items); sut.CollectionChanged += (_, args) => events.Add(args); items.AddRange(newItems); Assert.AreEqual(1, events.Count); Assert.AreEqual(NotifyCollectionChangedAction.Add, events[0].Action); Assert.AreEqual(flatIndex, events[0].NewStartingIndex); Assert.AreEqual(flatItems, events[0].NewItems); }
public void AddEventShouldBeRaised(params int[] newItems) { Setup(); var events = new List <NotifyCollectionChangedEventArgs>(); var items = new MvxObservableCollection <int> { 1, 2, 3 }; var index = items.Count; var sut = new WrappedObservableCollection <int, string>(items, Factory); sut.CollectionChanged += (_, args) => events.Add(args); items.AddRange(newItems); Assert.AreEqual(1, events.Count); Assert.AreEqual(NotifyCollectionChangedAction.Add, events[0].Action); Assert.AreEqual(index, events[0].NewStartingIndex); Assert.AreEqual(Transform(newItems), events[0].NewItems); }
public void AddRangeThrowsArgumentNullExceptionOnNullInput() { var collection = new MvxObservableCollection <string>(); Assert.Throws <ArgumentNullException>(() => collection.AddRange(null)); }
public static void ReplaceRange <T>(this MvxObservableCollection <T> collection, IEnumerable <T> enumerable) { collection.Clear(); collection.AddRange(enumerable); }