private async Task Init() { _conferencesListView = new ListView { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, }; var cell = new DataTemplate(typeof(TextCell)); cell.SetBinding(TextCell.TextProperty, "Name"); cell.SetBinding(TextCell.DetailProperty, new Binding(path: "Start", stringFormat: "{0:MM/dd/yyyy}")); _conferencesListView.ItemTemplate = cell; var viewModel = new ConferencesViewModel(); await viewModel.GetConferences(); _conferencesListView.ItemsSource = viewModel.Conferences; this.Content = new StackLayout { VerticalOptions = LayoutOptions.FillAndExpand, Padding = new Thickness( left: 0, right: 0, bottom: 0, top: Device.OnPlatform(iOS: 20, Android: 0, WinPhone: 0)), Children = { _conferencesListView } }; }
public async Task Current_conferences_retrieved() { var conferenceService = new Mock <IRemoteConferenceService> (); var conferenceDtos = _fixture.CreateMany <ConferenceDto> (50).ToList(); var conferences = _fixture.CreateMany <Conference> (50).ToList(); conferenceService.Setup(x => x.LoadConferencesAsync("")).Returns(Task.FromResult(conferenceDtos)); var databaseService = new Mock <IDatabaseService> (); var pq = new Queue <List <Conference> > (new[] { null, conferences }); databaseService.Setup(x => x.LoadConferencesAsync()).Returns(Task.FromResult(pq.Dequeue())); var messenger = new Mock <IMvxMessenger> (); var viewModel = new ConferencesViewModel(conferenceService.Object, databaseService.Object, messenger.Object); viewModel.Init(); await viewModel.LoadConferencesAsync(LoadRequest.Load); viewModel.Conferences.ShouldNotBeNull(); }