public void Setup(BenchmarkContext context)
        {
            Task parent = new Task {
                ID = 1, Description = "Task-01", StartDate = DateTime.MinValue, EndDate = DateTime.MaxValue, Priority = 5
            };

            tasks = new List <Task>
            {
                parent,
                new Task {
                    ID = 2, Description = "Task-02", StartDate = DateTime.MinValue, EndDate = DateTime.MaxValue, Priority = 10, ParentTask = parent
                },
                new Task {
                    ID = 3, Description = "Task-03", StartDate = DateTime.MinValue, EndDate = DateTime.MaxValue, Priority = 15, ParentTask = parent
                }
            };
            var source = tasks.AsQueryable();

            mockTasks = new Mock <DbSet <Task> >();
            mockTasks.As <IQueryable <Task> >().Setup(m => m.Expression).Returns(source.Expression);
            mockTasks.As <IQueryable <Task> >().Setup(m => m.ElementType).Returns(source.ElementType);
            mockTasks.As <IQueryable <Task> >().Setup(m => m.GetEnumerator()).Returns(source.GetEnumerator());
            mockTasks.As <IQueryable <Task> >().Setup(m => m.Provider).Returns(source.Provider);

            var model = new Mock <TaskManagerDataModel>();

            model.Setup(x => x.Tasks).Returns(mockTasks.Object);
            connector = new TaskDataConnector(model.Object);
        }
        public void ShouldGetTaskById()
        {
            var model = new Mock <TaskManagerDataModel>();

            model.Setup(x => x.Tasks).Returns(mockTasks.Object);
            var connector = new TaskDataConnector(model.Object);
            var result    = connector.GetTaskById(1);

            Assert.IsNotNull(result);
        }
        public void ShouldDeleteTask()
        {
            var model = new Mock <TaskManagerDataModel>();

            model.Setup(x => x.Tasks).Returns(mockTasks.Object);
            var connector = new TaskDataConnector(model.Object);

            connector.DeleteTask(1);
            var task = model.Object.Tasks.FirstOrDefault(t => t.ID == 1);

            Assert.IsNull(task);
        }
        public void ShouldEndTask()
        {
            var model = new Mock <TaskManagerDataModel>();

            model.Setup(x => x.Tasks).Returns(mockTasks.Object);
            var connector = new TaskDataConnector(model.Object);

            connector.EndTask(1);
            var task = model.Object.Tasks.FirstOrDefault(t => t.ID == 1);

            Assert.IsNotNull(task);
            Assert.AreEqual(true, task.Status);
        }
        public void ShouldAddTask()
        {
            var model = new Mock <TaskManagerDataModel>();

            model.Setup(x => x.Tasks).Returns(mockTasks.Object);
            var connector = new TaskDataConnector(model.Object);

            connector.AddTask(new Task {
                Description = "New Task"
            });
            var newtask = model.Object.Tasks.FirstOrDefault(t => t.Description == "New Task");

            Assert.IsNotNull(newtask);
        }
        public void ShouldEditTask()
        {
            var model = new Mock <TaskManagerDataModel>();

            model.Setup(x => x.Tasks).Returns(mockTasks.Object);
            var connector = new TaskDataConnector(model.Object);
            var editTask  = model.Object.Tasks.FirstOrDefault(t => t.ID == 1);

            editTask.Description = "Edited - Task";
            connector.EditTask(editTask);
            var task = model.Object.Tasks.FirstOrDefault(t => t.ID == 1);

            Assert.IsNotNull(task);
            Assert.AreEqual(editTask.Description, task.Description);
        }