public void CallAddNewsFromNewsDataService_Once_WithCorrectArguments()
        {
            var mockedNewsfeedView    = new Mock <INewsfeedView>();
            var mockedNewsDataService = new Mock <INewsDataService>();

            var newsDataPresenter = new NewsfeedPresenter(mockedNewsfeedView.Object, mockedNewsDataService.Object);
            var args = new AddNewsEventargs()
            {
                Content     = It.IsAny <string>(),
                CreatedOn   = It.IsAny <DateTime>(),
                IsImportant = It.IsAny <bool>(),
                Username    = It.IsAny <string>()
            };

            mockedNewsfeedView.Raise(x => x.EventAddNews += null, args);

            mockedNewsDataService.Verify(x => x.AddNews(args.Username, args.Content, args.CreatedOn, args.IsImportant), Times.Once());
        }
        public void Set_NewsFeed_And_ImportantNews_Correctly()
        {
            var mockedNewsfeedView    = new Mock <INewsfeedView>();
            var mockedNewsDataService = new Mock <INewsDataService>();

            var newsDataPresenter = new NewsfeedPresenter(mockedNewsfeedView.Object, mockedNewsDataService.Object);

            var newsfeed = new List <NewsModel>()
            {
                new NewsModel(), new NewsModel()
            };
            var importantNews = new List <NewsModel>()
            {
                new NewsModel(), new NewsModel()
            };
            var newsFeedModel = new NewsfeedModel();

            mockedNewsfeedView.SetupGet(x => x.Model).Returns(newsFeedModel);

            mockedNewsfeedView.Raise(x => x.EventBindNewsfeedData += null, EventArgs.Empty);

            CollectionAssert.AreEquivalent(newsFeedModel.Newsfeed, mockedNewsfeedView.Object.Model.Newsfeed);
            CollectionAssert.AreEquivalent(newsFeedModel.ImportantNews, mockedNewsfeedView.Object.Model.ImportantNews);
        }