public void Delete_Existing_Data_Should_Delete_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)
                }
            };

            int id = 1;

            mockRepo.Setup(r => r.FindById(id)).Returns(news.AsQueryable().SingleOrDefault(item => item.Id == id));
            mockRepo.Setup(repo => repo.Delete(It.Is((NewsRecord n) => n.Id == id)))
                .Callback((NewsRecord n) => news.RemoveAt(news.FindIndex(x => x.Id == n.Id)));

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

            var result = controller.DeleteNewsRecord(id).ExecuteAsync(new CancellationToken()).Result;

            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
            Assert.AreEqual(2, news.Count);
        }