public void TodoList_Add_one_item_Count_is_one() { var list = new TodoItemSortedList(); list.Add(new TodoItem("Test 1")); Assert.AreEqual(list.Count, 1); }
public void TodoList_Add_one_item_Insert_second_item_before_first() { var list = new TodoItemSortedList(); var todoOne = new TodoItem("Test 1"); var todoTwo = new TodoItem("Test 2"); list.Add(todoOne); list.Insert(1, todoTwo); Assert.AreEqual(list.First(), todoTwo); Assert.AreEqual(list.Last(), todoOne); }
/// <summary> /// Load a TodoItemSortedList from a file /// </summary> /// <param name="list"></param> /// <param name="filename"></param> public static void LoadFromFile(this TodoItemSortedList list, string filename) { string json = File.ReadAllText(filename); var value = Newtonsoft.Json.JsonConvert.DeserializeObject <TodoItemSortedList>(json); list.Clear(); foreach (var item in value) { list.Add(item); } }
public void TodoList_Add_two_items_Remove_two_items() { var list = new TodoItemSortedList(); var todoOne = new TodoItem("Test 1"); var todoTwo = new TodoItem("Test 2"); list.Add(todoOne); list.Add(todoTwo); list.Remove(todoOne); list.Remove(todoTwo); Assert.AreEqual(list.Count, 0); }
public void TodoList_Add_two_items_Move_second_item_before_first() { var list = new TodoItemSortedList(); var todoOne = new TodoItem("Test 1"); var todoTwo = new TodoItem("Test 2"); list.Add(todoOne); list.Add(todoTwo); list.Move(todoTwo, todoOne); Assert.AreEqual(list.First(), todoTwo); Assert.AreEqual(list.Last(), todoOne); }
public void TodoList_Add_ten_items_Move_last_item_to_first_one_step_at_a_time() { var list = new TodoItemSortedList(); foreach (var index in Enumerable.Range(1, 10)) { var todoItem = new TodoItem($"Test {index}"); list.Add(todoItem); } var itemTen = list.First(item => item.Description == $"Test 10"); foreach (var index in Enumerable.Range(1, 9).OrderByDescending(i => i)) { var todoItem = list.First(item => item.Description == $"Test {index}"); list.Move(itemTen, todoItem); } var itemNine = list.First(item => item.Description == $"Test 9"); Assert.AreEqual(list.First(), itemTen); Assert.AreEqual(list.Last(), itemNine); }
/// <summary> /// Save a TodoItemSortedList to a file /// </summary> /// <param name="list"></param> /// <param name="filename"></param> public static void SaveToFile(this TodoItemSortedList list, string filename) { string json = Newtonsoft.Json.JsonConvert.SerializeObject(list); File.WriteAllText(filename, json); }