public void WhenSelectedViewChanged_ArticlesInitilized() { //Prepare Mock<INewsService> mockedNewsService = new Mock<INewsService>(); Article[] articles = new Article[] { new Article { ArticleType = ArticleTypes.Major, Keywords = new string[] { "Diablo" } }, new Article { ArticleType = ArticleTypes.Notification, Keywords = new string[] { "Maintenance" } } }; mockedNewsService.Setup(x => x.GetNewsAsync(It.Is<string[]>(keywords => keywords.Length > 0), It.IsAny<CancellationToken>())).Returns(Task.FromResult(articles)); GameViewModel game = new GameViewModel(mockedNewsService.Object); game.BackgroundImage = "testimage"; game.Keywords = new string[] { "Diablo", "Maintenance" }; Mock<IGameService> mockedGameService = new Mock<IGameService>(); mockedGameService.Setup(x => x.GetGames()).Returns(new GameViewModel[] { game }).Verifiable(); GamesViewModel target = new GamesViewModel(mockedGameService.Object); //Act target.SelectedGameView = game; Thread.Sleep(3000); //Verify Assert.IsNotNull(game.MajorArticles); Assert.IsNotNull(game.MinorArticles); }
public void WhenConstructed_IntializesValues() { //Prepare Mock<INewsService> mockedNewService = new Mock<INewsService>(); mockedNewService.Setup(x => x.GetNews(It.IsAny<string[]>())); GameViewModel target = new GameViewModel(mockedNewService.Object); target.BackgroundImage = "testimage"; Mock<IGameService> mockedGameService = new Mock<IGameService>(); mockedGameService.Setup(x => x.GetGames()).Returns(new GameViewModel[] { target }).Verifiable(); GamesViewModel viewmodel = new GamesViewModel(mockedGameService.Object); //Act viewmodel.SelectedGameView = target; //Verify Assert.AreEqual(target, viewmodel.SelectedGameView); Assert.AreEqual("testimage", viewmodel.BackgroundImage); mockedGameService.VerifyAll(); }
public void WhenSelectedViewChanged_PropertyIsUpdated() { //Prepare Mock<INewsService> mockedNewService = new Mock<INewsService>(); mockedNewService.Setup(x => x.GetNews(It.IsAny<string[]>())); GameViewModel game = new GameViewModel(mockedNewService.Object); game.BackgroundImage = "testimage"; Mock<IGameService> mockedGameService = new Mock<IGameService>(); mockedGameService.Setup(x => x.GetGames()).Returns(new GameViewModel[] { game }).Verifiable(); GamesViewModel viewmodel = new GamesViewModel(mockedGameService.Object); bool backgroundImageChangedRaised = false; viewmodel.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "BackgroundImage") { backgroundImageChangedRaised = true; } }; bool selectedGameViewChangedRaised = false; viewmodel.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "SelectedGameView") { selectedGameViewChangedRaised = true; } }; //Act viewmodel.SelectedGameView = game; //Verify Assert.AreSame(game, viewmodel.SelectedGameView); Assert.IsTrue(backgroundImageChangedRaised); Assert.IsTrue(selectedGameViewChangedRaised); }
public GamesView(GamesViewModel viewmodel) { this.DataContext = viewmodel; InitializeComponent(); }