public void Modify_Existing_Data_Should_Update_The_Data()
        {
            var mockRepo = new Mock<IRepository<NewsRecord>>();
            var news = new List<NewsRecord>()
            {
                new NewsRecord
                {
                    Id = 1,
                    Title = "HopHop1",
                    Content = "The hoppy hop",
                    PublishDate = DateTime.Now
                },
                new NewsRecord
                {
                    Id = 2,
                    Title = "HopHop2",
                    Content = "The hoppy hop2",
                    PublishDate = DateTime.Now.AddDays(+5)
                },
                new NewsRecord
                {
                    Id = 3,
                    Title = "HopHop3",
                    Content = "The hoppy hop3",
                    PublishDate = DateTime.Now.AddDays(+10)
                }
            };

            mockRepo.Setup(r => r.Update(It.IsAny<NewsRecord>()))
              .Callback((NewsRecord n) => news[news.FindIndex(x => x.Id == n.Id)] = n);

            var controller = new NewsController(mockRepo.Object);
            this.SetupController(controller, "NewsController");

            var newsFromRepo = news.SingleOrDefault(n => n.Title == "HopHop1");
            var newsFromRepoId = newsFromRepo.Id;

            var modifyModel = new NewsRecordBindingModel()
            {
                Title = "Changed Shit",
                Content = "Messy shit",
            };

            var response = controller.PutNewsRecord(newsFromRepoId, modifyModel).ExecuteAsync(CancellationToken.None).Result;

            var newsAfterUpdate = news.SingleOrDefault(n => n.Id == newsFromRepo.Id);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreEqual("Changed Shit", newsAfterUpdate.Title);
        }