public void RemoveTodo()
        {
            var repository = new InMemoryTodoRepository();
            var addedTodo = repository.Add(new TodoModel());
            repository.Delete(addedTodo.id).ShouldBeTrue();
            repository.Get(addedTodo.id).ShouldBeNull();

            repository.Delete(addedTodo.id).ShouldBeFalse();
            repository.Get(addedTodo.id).ShouldBeNull();
        }
        public void RemoveTodo()
        {
            var repository = new InMemoryTodoRepository();
            var addedTodo = repository.Add(new TodoModel());
            repository.Remove(addedTodo.Id);
            repository.Get(addedTodo.Id).ShouldBeNull();

            repository.Remove(addedTodo.Id);
            repository.Get(addedTodo.Id).ShouldBeNull();
        }
        public void GetTodo()
        {
            var todo = new TodoModel { task = "My task" };

            var repository = new InMemoryTodoRepository();
            repository.Add(todo);
            repository.Get(todo.id).ShouldEqual(todo);
        }
        public void UpdateTodo()
        {
            var repository = new InMemoryTodoRepository();

            var originalTodo = new TodoModel
            {
                completed = true,
                deadlineUtc = DateTime.UtcNow,
                moreDetails = "more",
                task = "task"
            };

            originalTodo = repository.Add(originalTodo);

            var updatedTodo = new TodoModel
            {
                id = originalTodo.id,
                completed = false,
                deadlineUtc = DateTime.Now,
                moreDetails = "more details",
                task = "task info"
            };

            repository.Update(updatedTodo).ShouldBeTrue();

            var updatedOriginal = repository.Get(originalTodo.id);
            updatedOriginal.id.ShouldEqual(updatedTodo.id);
            updatedOriginal.completed.ShouldEqual(updatedTodo.completed);
            updatedOriginal.deadlineUtc.ShouldEqual(updatedTodo.deadlineUtc);
            updatedOriginal.moreDetails.ShouldEqual(updatedTodo.moreDetails);
            updatedOriginal.task.ShouldEqual(updatedTodo.task);
        }
 public void ReturnNullIfCantGetTodo()
 {
     var repository = new InMemoryTodoRepository();
     repository.Get(5).ShouldBeNull();
 }