示例#1
0
        public void ShouldThrowWhenFileIsNotJson()
        {
            var loader = new TodoJsonFileLoader();

            Assert.ThrowsAsync(
                typeof(JsonException),
                () => loader.LoadFromFile("../../../data/test-invalid-json.txt")
                );
        }
示例#2
0
        public void ShouldThrowWhenFilePathIsInvalid()
        {
            var loader = new TodoJsonFileLoader();

            Assert.ThrowsAsync(
                typeof(FileNotFoundException),
                () => loader.LoadFromFile("../../../data/missing-file.json")
                );
        }
        public async Task LoadItems(string path)
        {
            var loader    = new TodoJsonFileLoader();
            var listModel = await loader.LoadFromFile(path);

            foreach (var item in listModel.Tasks)
            {
                var todoItem = CreateFromTodoItem(item);
                Tasks.Add(todoItem);
            }
        }
示例#4
0
        public async Task ShouldLoadSingleItem()
        {
            var loader = new TodoJsonFileLoader();
            var list   = await loader.LoadFromFile("../../../data/test-single.json");

            Assert.That(list, Is.Not.Null);
            Assert.That(list.Tasks, Has.Exactly(1).Items);

            var firstItem = list.Tasks.First();

            Assert.That(firstItem.Completed, Is.False);
            Assert.That(firstItem.ItemType, Is.EqualTo(TodoItemType.Single));
            Assert.That(firstItem.Title, Is.EqualTo("I'm a single item"));
        }
        public async Task SaveItems(string path)
        {
            var             loader    = new TodoJsonFileLoader();
            List <TodoItem> todoTasks = new List <TodoItem>();

            foreach (var item in Tasks)
            {
                todoTasks.Add(CastAsTodoItem(item));
            }

            TodoList todoList = new TodoList();

            todoList.Tasks = todoTasks;
            await loader.SaveToFile(path, todoList);
        }