コード例 #1
0
        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
                }
            };
        }
コード例 #2
0
        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();
        }