コード例 #1
0
ファイル: NewsControllerFixture.cs プロジェクト: eslahi/prism
        public void ShowNewsResolvesPresenterAndCallsSetTickerSymbolOnItAndAddsNamedViewToRegion()
        {
            var presenter = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();
            eventAggregator.AddMapping<TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var controller = new NewsController(CreateRegionManager(), presenter, eventAggregator, new MockNewsReaderPresenter());

            controller.ShowNews("Test");

            Assert.IsNotNull(presenter.SetTickerSymbolArgumentCompanySymbol);
            Assert.AreEqual("Test", presenter.SetTickerSymbolArgumentCompanySymbol);
        }
コード例 #2
0
ファイル: NewsControllerFixture.cs プロジェクト: eslahi/prism
        public void ShouldNotifyReaderWhenCurrentNewsArticleChanges()
        {
            var presenter = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();
            eventAggregator.AddMapping<TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var newsReaderPresenter = new MockNewsReaderPresenter();
            var controller = new NewsController(CreateRegionManager(), presenter, eventAggregator, newsReaderPresenter);

            controller.CurrentNewsArticleChanged(new NewsArticle() { Title = "SomeTitle", Body = "Newsbody" });

            Assert.IsTrue(newsReaderPresenter.SetNewsArticleCalled);
        }
コード例 #3
0
ファイル: NewsControllerFixture.cs プロジェクト: eslahi/prism
        public void ControllerShowNewsViewWhenArticlePresenterReceivesEvent()
        {
            var presenter = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();
            eventAggregator.AddMapping<TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var newsReaderPresenter = new MockNewsReaderPresenter();

            var controller = new NewsController(new MockRegionManager(), presenter, eventAggregator, newsReaderPresenter);

            controller.ShowNewsReader();

            Assert.IsTrue(newsReaderPresenter.ShowWasCalled);
        }
コード例 #4
0
        public void ShowNewsResolvesPresenterAndCallsSetTickerSymbolOnItAndAddsNamedViewToRegion()
        {
            var presenter       = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();

            eventAggregator.AddMapping <TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var controller = new NewsController(CreateRegionManager(), presenter, eventAggregator, new MockNewsReaderPresenter());

            controller.ShowNews("Test");

            Assert.IsNotNull(presenter.SetTickerSymbolArgumentCompanySymbol);
            Assert.AreEqual("Test", presenter.SetTickerSymbolArgumentCompanySymbol);
        }
コード例 #5
0
ファイル: NewsControllerFixture.cs プロジェクト: eslahi/prism
        public void ControllerShowNewsViewWhenArticlePresenterReceivesEvent()
        {
            var presenter       = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();

            eventAggregator.AddMapping <TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var newsReaderPresenter = new MockNewsReaderPresenter();

            var controller = new NewsController(new MockRegionManager(), presenter, eventAggregator, newsReaderPresenter);

            controller.ShowNewsReader();

            Assert.IsTrue(newsReaderPresenter.ShowWasCalled);
        }
コード例 #6
0
ファイル: NewsControllerFixture.cs プロジェクト: eslahi/prism
        public void ControllerShowNewsWhenRasingGlobalEvent()
        {
            var presenter = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();
            var tickerSymbolSelectedEvent = new MockTickerSymbolSelectedEvent();
            eventAggregator.AddMapping<TickerSymbolSelectedEvent>(tickerSymbolSelectedEvent);
            var controller = new NewsController(CreateRegionManager(), presenter, eventAggregator, new MockNewsReaderPresenter());

            controller.Run();

            Assert.IsNotNull(tickerSymbolSelectedEvent.SubscribeArgumentAction);

            tickerSymbolSelectedEvent.SubscribeArgumentAction("TEST_SYMBOL");
            Assert.AreEqual("TEST_SYMBOL", presenter.SetTickerSymbolArgumentCompanySymbol);
        }
コード例 #7
0
ファイル: NewsControllerFixture.cs プロジェクト: eslahi/prism
        public void ControllerShowNewsViewWhenArticlePresenterReceivesEvent()
        {
            var articlePresentationModel = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();
            eventAggregator.AddMapping<TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var newsReaderPresenter = new MockNewsReaderPresenter();
            var regionManager = CreateRegionManager();
            var shellRegion = (MockRegion)regionManager.Regions["SecondaryRegion"];

            var controller = new NewsController(regionManager, articlePresentationModel, eventAggregator, newsReaderPresenter);

            controller.ShowNewsReader();

            Assert.IsTrue(shellRegion.ActivateCalled);
            Assert.AreEqual(newsReaderPresenter.View, shellRegion.ActivateArg);
        }
コード例 #8
0
        public void ShouldNotifyReaderWhenCurrentNewsArticleChanges()
        {
            var presenter       = new MockArticlePresentationModel();
            var eventAggregator = new MockEventAggregator();

            eventAggregator.AddMapping <TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var newsReaderPresenter = new MockNewsReaderPresenter();
            var controller          = new NewsController(CreateRegionManager(), presenter, eventAggregator, newsReaderPresenter);

            controller.CurrentNewsArticleChanged(new NewsArticle()
            {
                Title = "SomeTitle", Body = "Newsbody"
            });

            Assert.IsTrue(newsReaderPresenter.SetNewsArticleCalled);
        }
コード例 #9
0
        public void ControllerShowNewsWhenRasingGlobalEvent()
        {
            var presenter                 = new MockArticlePresentationModel();
            var eventAggregator           = new MockEventAggregator();
            var tickerSymbolSelectedEvent = new MockTickerSymbolSelectedEvent();

            eventAggregator.AddMapping <TickerSymbolSelectedEvent>(tickerSymbolSelectedEvent);
            var controller = new NewsController(CreateRegionManager(), presenter, eventAggregator, new MockNewsReaderPresenter());

            controller.Run();

            Assert.IsNotNull(tickerSymbolSelectedEvent.SubscribeArgumentAction);

            tickerSymbolSelectedEvent.SubscribeArgumentAction("TEST_SYMBOL");
            Assert.AreEqual("TEST_SYMBOL", presenter.SetTickerSymbolArgumentCompanySymbol);
        }
コード例 #10
0
        public void ControllerShowNewsViewWhenArticlePresenterReceivesEvent()
        {
            var articlePresentationModel = new MockArticlePresentationModel();
            var eventAggregator          = new MockEventAggregator();

            eventAggregator.AddMapping <TickerSymbolSelectedEvent>(new MockTickerSymbolSelectedEvent());
            var newsReaderPresenter = new MockNewsReaderPresenter();
            var regionManager       = CreateRegionManager();
            var shellRegion         = (MockRegion)regionManager.Regions["SecondaryRegion"];

            var controller = new NewsController(regionManager, articlePresentationModel, eventAggregator, newsReaderPresenter);

            controller.ShowNewsReader();

            Assert.IsTrue(shellRegion.ActivateCalled);
            Assert.AreEqual(newsReaderPresenter.View, shellRegion.ActivateArg);
        }