public void RankCheckerVMTest_CanClear() { var mockedSearchersLoader = new MockedSearchersLoader(); var viewModel = new RankCheckerViewModel(mockedSearchersLoader); // With values: valid viewModel.Keywords = "hello world"; viewModel.UrlString = "www.somedomain.com"; Assert.AreEqual(true, viewModel.CanExecuteClear); // Empty Keywords: valid viewModel.Keywords = string.Empty; viewModel.UrlString = "www.somedomain.com"; Assert.AreEqual(true, viewModel.CanExecuteClear); // Empty Url: valid viewModel.Keywords = "hello world"; viewModel.UrlString = string.Empty; Assert.AreEqual(true, viewModel.CanExecuteClear); // Both Empty: invalid viewModel.Keywords = string.Empty; viewModel.UrlString = string.Empty; Assert.AreEqual(false, viewModel.CanExecuteClear); }
public void RankCheckerVMTest_TestAllProperties() { var mockedSearchersLoader = new MockedSearchersLoader(); bool isTriggered; var viewModel = new RankCheckerViewModel(mockedSearchersLoader); viewModel.PropertyChanged += (sender, args) => { isTriggered = true; }; isTriggered = false; viewModel.Keywords = "hello world"; Assert.AreEqual("hello world", viewModel.Keywords); Assert.IsTrue(isTriggered); isTriggered = false; viewModel.UrlString = "www.somedomain.com"; Assert.AreEqual("www.somedomain.com", viewModel.UrlString); Assert.IsTrue(isTriggered); isTriggered = false; viewModel.IsSearchInProgress = true; Assert.IsTrue(viewModel.IsSearchInProgress); Assert.IsTrue(isTriggered); isTriggered = false; viewModel.ResultsText = "1"; Assert.AreEqual("1", viewModel.ResultsText); Assert.IsTrue(isTriggered); isTriggered = false; viewModel.ResultsStatus = "Done"; Assert.AreEqual("Done", viewModel.ResultsStatus); Assert.IsTrue(isTriggered); isTriggered = false; viewModel.SelectedNumberOfResults = 10; Assert.AreEqual(10, viewModel.SelectedNumberOfResults); Assert.IsTrue(isTriggered); isTriggered = false; viewModel.CanExecuteCheck = true; Assert.IsTrue(viewModel.CanExecuteCheck); Assert.IsTrue(isTriggered); isTriggered = false; viewModel.CanExecuteClear = true; Assert.IsTrue(viewModel.CanExecuteClear); Assert.IsTrue(isTriggered); }
public void RankCheckerVMTest_ExecuteClear() { var mockedSearchersLoader = new MockedSearchersLoader(); var viewModel = new RankCheckerViewModel(mockedSearchersLoader); // Setup & Execute Clear command viewModel.Keywords = "hello world"; viewModel.UrlString = "www.somedomain.com"; viewModel.ClearCommand.Execute(null); // Assert after execute Assert.AreEqual(string.Empty, viewModel.Keywords); Assert.AreEqual(string.Empty, viewModel.UrlString); Assert.AreEqual(string.Empty, viewModel.ResultsText); Assert.AreEqual(string.Empty, viewModel.ResultsStatus); Assert.AreEqual(false, viewModel.IsSearchInProgress); Assert.IsNull(viewModel.SelectedSearchQuery); }
public void RankCheckerVMTest_ExecuteCheck() { var mockedSearchersLoader = new MockedSearchersLoader(); var viewModel = new RankCheckerViewModel(mockedSearchersLoader); // Setup & Execute Check command viewModel.Keywords = "hello world"; viewModel.UrlString = "www.somedomain.com"; viewModel.CheckCommand.Execute(null); // Assert after execute Assert.AreEqual(false, viewModel.IsSearchInProgress); Assert.AreEqual("0", viewModel.ResultsText); Assert.AreEqual("Search completed. Found 0 result.", viewModel.ResultsStatus); Assert.IsTrue(viewModel.RecentSearchesCollection.Count == 1); Assert.IsTrue(viewModel.RecentSearchesCollection[0].Keywords == viewModel.Keywords); Assert.IsTrue(viewModel.RecentSearchesCollection[0].UrlString == viewModel.UrlString); Assert.IsNotNull(viewModel.SelectedSearchQuery); Assert.IsTrue(viewModel.SelectedSearchQuery.Keywords == viewModel.Keywords); Assert.IsTrue(viewModel.SelectedSearchQuery.UrlString == viewModel.UrlString); }