public void AddNewTask_ActiveSameName_Exception_FailedAdd()
        {
            Task task = new Task();

            task.TaskId    = 2;
            task.TaskName  = "ABCD";
            task.StartDate = DateTime.Now;
            task.Priority  = 1;
            Task taskAdd = new Task();

            taskAdd.TaskId    = 1;
            taskAdd.TaskName  = "ABCD";
            taskAdd.StartDate = DateTime.Now;
            taskAdd.Priority  = 1;
            var mockTaskRepository = new Mock <ITaskRepository>(MockBehavior.Strict);

            mockTaskRepository.Setup(p => p.GetTaskByName("ABCD")).Returns(task);
            var objTestTaskMangerHandler = new TaskManagerHandler(mockTaskRepository.Object);

            Assert.That(() => objTestTaskMangerHandler.AddNewTask(taskAdd),
                        Throws.TypeOf <CustomValidationException>());
            mockTaskRepository.Verify(mock => mock.GetTaskByName("ABCD"), Times.Once());
        }
        public void AddNewTask_Successful()
        {
            Task task    = new Task();
            Task taskAdd = new Task();

            taskAdd.TaskId    = 1;
            taskAdd.TaskName  = "ABCD";
            taskAdd.StartDate = DateTime.Now;
            taskAdd.Priority  = 1;
            IQueryable <Task> childTasks = Enumerable.Empty <Task>().AsQueryable();

            var mockTaskRepository = new Mock <ITaskRepository>(MockBehavior.Strict);

            mockTaskRepository.Setup(p => p.GetTaskByName("ABCD")).Returns(task);
            mockTaskRepository.Setup(p => p.AddTask(taskAdd));
            var objTestTaskMangerHandler = new TaskManagerHandler(mockTaskRepository.Object);

            objTestTaskMangerHandler.AddNewTask(taskAdd);
            mockTaskRepository.Verify(mock => mock.GetTaskByName("ABCD"), Times.Once());
            mockTaskRepository.Verify(mock => mock.AddTask(taskAdd), Times.Once());

            // ...or verify everything.
            // mockSomeClass.VerifyAll();
        }