public void Delete()
        {
            ExamController controller = new ExamController();
            string         result     = controller.Delete(9);

            Assert.AreEqual("1", result);
        }
        public void ShouldDeleteCorrectly()
        {
            Mock <IGenericService <Exam> > examServiceMock = new Mock <IGenericService <Exam> >();

            Exam exam = new Exam()
            {
                Id                 = 100,
                AttemptOne         = DateTime.Now.Date,
                AttemptTwo         = DateTime.Now.Date.AddDays(14),
                EC                 = 3,
                Duration           = TimeSpan.FromMinutes(30),
                Compensatable      = true,
                ExamType           = "Vh:essaytoets + vh+att:gedragsassessment + vh:portfolio-assessment + vh:vaardigheidstoets(R)",
                Language           = "NL",
                ResponsibleTeacher = new Teacher()
                {
                    FirstName = "Robin",
                    LastName  = "Schellius"
                },
                Module = new Module()
                {
                    Name = "Client-side web frameworks",
                }
            };

            ClaimsPrincipal identity = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.NameIdentifier, "123")
            }));

            examServiceMock.Setup(m => m.FindById(It.IsAny <int>(), It.IsAny <string[]>())).Returns(exam);

            examServiceMock.Setup(m => m.Delete(It.IsAny <Exam>())).Returns((Exam model) =>
            {
                return(1);
            });

            ExamController controller = new ExamController(examServiceMock.Object)
            {
                ControllerContext = new ControllerContext()
                {
                    HttpContext = new DefaultHttpContext()
                    {
                        User = identity
                    }
                }
            };

            RedirectToActionResult result = controller.Delete(exam.Id) as RedirectToActionResult;

            Assert.Equal("Index", result?.ActionName);
        }