public void PickRandom_Changes_SearchText()
        {
            using (var setup = new MockSetup())
            {
                setup.Initialize();

                var viewModel = new HomeViewModel();
                Assert.IsNotNull(viewModel.SearchText);
                var calledProperties = new List<string>();
                viewModel.PropertyChanged += (sender, args) => calledProperties.Add(args.PropertyName);
                Assert.AreEqual(0, calledProperties.Count);
                
                var existingSearchText = viewModel.SearchText;
                viewModel.PickRandomCommand.Execute();
                Assert.AreEqual(1, calledProperties.Count);
                Assert.AreEqual("SearchText", calledProperties[0]);
                Assert.AreNotEqual(existingSearchText, viewModel.SearchText);

                existingSearchText = viewModel.SearchText;
                viewModel.PickRandomCommand.Execute();
                Assert.AreEqual(2, calledProperties.Count);
                Assert.AreEqual("SearchText", calledProperties[0]);
                Assert.AreEqual("SearchText", calledProperties[1]);
                Assert.AreNotEqual(existingSearchText, viewModel.SearchText);
            }
        }
Beispiel #2
0
 public void RandomChangesTheSearchTerm()
 {
     var viewModel = new HomeViewModel();
     var searchTerm = "Test Search Term";
     viewModel.SearchText = searchTerm;
     viewModel.PickRandomCommand.Execute(null);
     Assert.AreNotEqual(searchTerm, viewModel.SearchText);
 }
Beispiel #3
0
 public void GoCausesNoNavigationForEmptySearch()
 {
     var mockNavigation = CreateMockNavigation();
     var viewModel = new HomeViewModel();
     var searchTerm = "";
     viewModel.SearchText = searchTerm;
     viewModel.SearchCommand.Execute(null);
     Assert.AreEqual(0, mockNavigation.NavigateRequests.Count);
 }
        public void GoCausesNoNavigationForBannedWord()
        {
            ClearAll();

            var mockNavigation = CreateMockNavigation();
            var viewModel = new HomeViewModel();
            var searchTerm = "javascript";
            viewModel.SearchText = searchTerm;
            viewModel.SearchCommand();
            Assert.AreEqual(0, mockNavigation.NavigateRequests.Count);
        }
        public void GoCausesNavigationForNonEmptySearch()
        {
            ClearAll();
            var mockNavigation = CreateMockNavigation();

            var viewModel = new HomeViewModel();
            var searchTerm = "Test Search Term";
            viewModel.SearchText = searchTerm;
            viewModel.SearchCommand();
            Assert.AreEqual(1, mockNavigation.NavigateRequests.Count);
        }
        public void User_Can_Change_SearchText()
        {
            using (var setup = new MockSetup())
            {
                setup.Initialize();

                var viewModel = new HomeViewModel();
                Assert.IsNotNull(viewModel.SearchText);
                viewModel.SearchText = "MyTestString";
                Assert.AreEqual("MyTestString", viewModel.SearchText);
            }
        }
        public void GoCausesNavigationForNonEmptySearch()
        {
            ClearAll();

            Ioc.RegisterSingleton<IMvxStringToTypeParser>(new MvxStringToTypeParser());
            var mockNavigation = CreateMockNavigation();

            var viewModel = new HomeViewModel();
            var searchTerm = "Test Search Term";
            viewModel.SearchText = searchTerm;
            viewModel.SearchCommand();
            Assert.AreEqual(1, mockNavigation.NavigateRequests.Count);
        }
Beispiel #8
0
        public void GoCausesNavigationForNonEmptySearch()
        {
            var mockNavigation = new MockMvxViewDispatcher();
            var mockNavigationProvider = new MockMvxViewDispatcherProvider();
            mockNavigationProvider.Dispatcher = mockNavigation;
            Ioc.RegisterServiceInstance<IMvxViewDispatcherProvider>(mockNavigationProvider);

            var viewModel = new HomeViewModel();
            var searchTerm = "Test Search Term";
            viewModel.SearchText = searchTerm;
            viewModel.SearchCommand.Execute(null);
            Assert.AreEqual(1, mockNavigation.NavigateRequests.Count);
        }
        public void SearchCommand_Calls_RequestNavigate()
        {
            using (var setup = new MockSetup())
            {
                setup.Initialize();
                var requests = new List<MvxShowViewModelRequest>();
                setup.Dispatcher
                    .Setup(x => x.RequestNavigate(It.IsAny<MvxShowViewModelRequest>()))
                    .Callback<MvxShowViewModelRequest>((request) => requests.Add(request));

                var viewModel = new HomeViewModel();
                viewModel.SearchText = "MyTestValue";
                viewModel.SearchCommand.Execute();

                setup.Dispatcher
                    .Verify(x => x.RequestNavigate(It.IsAny<MvxShowViewModelRequest>()), Times.Once());
                Assert.AreEqual(1, requests.Count);
                Assert.AreEqual(typeof(TwitterViewModel), requests[0].ViewModelType);
                Assert.AreEqual(false, requests[0].ClearTop);
                Assert.AreEqual(MvxRequestedBy.UserAction, requests[0].RequestedBy);
                Assert.AreEqual(1, requests[0].ParameterValues.Count);
                Assert.AreEqual("MyTestValue", requests[0].ParameterValues["searchTerm"]);
            }
        }