public void ShouldThrowWhenFileIsNotJson() { var loader = new TodoJsonFileLoader(); Assert.ThrowsAsync( typeof(JsonException), () => loader.LoadFromFile("../../../data/test-invalid-json.txt") ); }
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); } }
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); }