コード例 #1
0
ファイル: TodoCoreTests.cs プロジェクト: mikeywashere/Tomato
        public void TodoList_Add_one_item_Count_is_one()
        {
            var list = new TodoItemSortedList();

            list.Add(new TodoItem("Test 1"));
            Assert.AreEqual(list.Count, 1);
        }
コード例 #2
0
ファイル: TodoCoreTests.cs プロジェクト: mikeywashere/Tomato
        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);
        }
コード例 #3
0
ファイル: TodoExtensions.cs プロジェクト: mikeywashere/Tomato
        /// <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);
            }
        }
コード例 #4
0
ファイル: TodoCoreTests.cs プロジェクト: mikeywashere/Tomato
        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);
        }
コード例 #5
0
ファイル: TodoCoreTests.cs プロジェクト: mikeywashere/Tomato
        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);
        }
コード例 #6
0
ファイル: TodoCoreTests.cs プロジェクト: mikeywashere/Tomato
        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);
        }
コード例 #7
0
ファイル: TodoExtensions.cs プロジェクト: mikeywashere/Tomato
        /// <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);
        }