コード例 #1
0
        public void About()
        {
            // Arrange
            HomeController controller = new HomeController();
            IAnnouncementService announcemsntServiceStub = new StubIAnnouncementService()
            {
                GetAnnouncements = () =>
                {
                    return new List<Announcement>()
                    {
                        new Announcement() {Title = "announcement1"},
                        new Announcement() {Title = "announcement1"}
                    };
                }
            };

            controller.AnnouncementService = announcemsntServiceStub;
            // Act
            ViewResult result = controller.About() as ViewResult;

            // Assert
            Assert.AreEqual("Your application description page.", result.ViewBag.Message);
            Assert.AreEqual(typeof(List<Announcement>), result.Model.GetType());
            Assert.AreEqual(2, ((ICollection<Announcement>)result.Model).Count);
        }
コード例 #2
0
        public void TestGetCommandSucceeded()
        {
            var announcementToReturn = new List <Announcement>
            {
                new Announcement()
            };

            var rootFrameNavigated         = false;
            var stubIRootNavigationService = new StubIRootNavigationService();

            stubIRootNavigationService.Navigate(
                (sourcePageType, parameter, navigationTransition) =>
                rootFrameNavigated = true);

            var dialogShown        = false;
            var stubIDialogService = new StubIDialogService();

            stubIDialogService.ShowAsync(async message => dialogShown = true);

            var getRequested             = false;
            var stubIAnnouncementService = new StubIAnnouncementService();

            stubIAnnouncementService.GetAsync(async() => {
                getRequested = true;
                return(new ServiceResult <IEnumerable <Announcement> > {
                    Status = ServiceResultStatus.OK,
                    Result = announcementToReturn
                });
            });

            var announcementViewModel =
                new AnnouncementViewModel(stubIDialogService,
                                          stubIAnnouncementService, null);

            announcementViewModel.GetCommand.Execute(null);

            Assert.IsFalse(rootFrameNavigated);
            Assert.IsFalse(dialogShown);
            Assert.IsTrue(getRequested);
            Assert.AreSame(announcementToReturn,
                           announcementViewModel.Announcements);
        }
コード例 #3
0
        public void TestOpenCommandOther()
        {
            var messageToShow = "Error Message";

            var messageShown       = "";
            var dialogShown        = false;
            var stubIDialogService = new StubIDialogService();

            stubIDialogService.ShowAsync(async message => {
                dialogShown  = true;
                messageShown = message;
            });

            var getRequested             = false;
            var stubIAnnouncementService = new StubIAnnouncementService();

            stubIAnnouncementService.GetAsync(async() => {
                getRequested = true;
                return(new ServiceResult <IEnumerable <Announcement> > {
                    Status = ServiceResultStatus.Exception,
                    Message = messageToShow
                });
            });

            var announcementViewModel =
                new AnnouncementViewModel(stubIDialogService,
                                          stubIAnnouncementService, null);

            announcementViewModel.GetCommand.Execute(null);

            Assert.IsTrue(dialogShown);
            Assert.AreEqual(
                UvpClient.App.HttpClientErrorMessage + messageToShow,
                messageShown);
            Assert.IsTrue(getRequested);
        }