コード例 #1
0
        public void WhenArticleViewModelSelectedArticleChanged_NewsReaderViewModelNewsArticleUpdated()
        {
            // Prepare
            INewsFeedService newsFeedService = new Mock<INewsFeedService>().Object;
            IRegionManager regionManager = new Mock<IRegionManager>().Object;

            var tickerSymbolSelectedEvent = new Mock<TickerSymbolSelectedEvent>().Object;

            var mockEventAggregator = new Mock<IEventAggregator>();
            mockEventAggregator.Setup(x => x.GetEvent<TickerSymbolSelectedEvent>()).Returns(tickerSymbolSelectedEvent);
            IEventAggregator eventAggregator = mockEventAggregator.Object;


            ArticleViewModel articleViewModel = new ArticleViewModel(newsFeedService, regionManager, eventAggregator);
            NewsReaderViewModel newsReaderViewModel = new NewsReaderViewModel();

            var controller = new NewsController(articleViewModel, newsReaderViewModel);

            NewsArticle newsArticle = new NewsArticle() { Title = "SomeTitle", Body = "Newsbody" };

            // Act
            articleViewModel.SelectedArticle = newsArticle;

            // Verify
            Assert.AreSame(newsArticle, newsReaderViewModel.NewsArticle);
        }
コード例 #2
0
 public NewsController(ArticleViewModel articleViewModel, NewsReaderViewModel newsReaderViewModel)
 {
     this.articleViewModel = articleViewModel;         
     this.newsReaderViewModel = newsReaderViewModel;
     if (articleViewModel != null)
     {
         this.articleViewModel.PropertyChanged += this.ArticleViewModel_PropertyChanged;
     }
 }
コード例 #3
0
        public void SetNewsArticleUpdatesProperty()
        {
            var target = new NewsReaderViewModel();

            bool propertyChangedRaised = false;
            target.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e)
            {
                if (e.PropertyName == "NewsArticle")
                {
                    propertyChangedRaised = true;
                }
            };

            NewsArticle article = new NewsArticle() { Title = "My Title", Body = "My Body" };
            target.NewsArticle = article;

            Assert.AreSame(article, target.NewsArticle);
            Assert.IsTrue(propertyChangedRaised);
        }
コード例 #4
0
 public NewsReaderView(NewsReaderViewModel viewModel)
 {
     InitializeComponent();
     ViewModel = viewModel;
 }