Пример #1
0
        // Add an object of todoNote and append it to the list of already made tasks.
        // Already made tasks are added to a list using the read Json function before appending a new task.
        public void AddTask(string whatToDo, string path)
        {
            List <TodoNote> todoList   = HandleJson.ReadFromJsonFile <List <TodoNote> >(path);
            List <TodoNote> updateList = new List <TodoNote>();

            TodoNote todo = new TodoNote
            {
                ID   = 0,
                task = whatToDo,
            };

            if (todoList == null)
            {
                todo.ID = 1;
                updateList.Add(todo);
            }
            else
            {
                todo.ID    = todoList.Count + 1;
                updateList = todoList;
                updateList.Add(todo);
            }

            Console.WriteLine("#{0}  {1}", todo.ID, todo.task);
            HandleJson.WriteToJsonFile <List <TodoNote> >(path, updateList);
        }
Пример #2
0
        public void DeleteTodo()
        {
            List <TodoNote> updateList = new List <TodoNote>();

            HandleJson.WriteToJsonFile <List <TodoNote> >("Test.json", updateList);

            TodoNote addObject   = new TodoNote();
            string   testString  = "This is a delete test!";
            string   testString2 = "This is also a delete test!";

            addObject.AddTask(testString, "Test.json");
            addObject.AddTask(testString2, "Test.json");

            List <TodoNote> todoList         = HandleJson.ReadFromJsonFile <List <TodoNote> >("Test.json");
            int             sizeBeforeDelete = todoList.Count;

            TodoNote temp = new TodoNote();

            temp.DeleteTask(1, "Test.json");

            List <TodoNote> newTodoList     = HandleJson.ReadFromJsonFile <List <TodoNote> >("Test.json");
            int             sizeAfterDelete = newTodoList.Count;

            // The new size of the list should match the old size -1
            Assert.Equal(sizeBeforeDelete - 1, sizeAfterDelete);
        }
Пример #3
0
        // Print all task in the console by iterating though the object list.
        public void ShowAllTasks()
        {
            List <TodoNote> taskList = HandleJson.ReadFromJsonFile <List <TodoNote> >("todoList.json");

            if (taskList == null || taskList.Count == 0)
            {
                Console.WriteLine("You got no tasks! Type Add + \"MyTask\"");
                return;
            }

            Console.WriteLine("\nTODO list:");

            foreach (TodoNote p in taskList)
            {
                Console.WriteLine("#{0}\t{1}", p.ID, p.task);
            }
        }
Пример #4
0
        // Delete specified object if its present in the list.
        // New IDs are given when a task is completed.
        public void DeleteTask(int taskNumber, string path)
        {
            List <TodoNote> taskList = HandleJson.ReadFromJsonFile <List <TodoNote> >(path);

            if (taskList == null || taskList.Count == 0)
            {
                Console.WriteLine("TODO list is empty!");
                return;
            }

            TodoNote temp = new TodoNote();

            foreach (TodoNote p in taskList)
            {
                if (taskNumber == p.ID)
                {
                    temp = p;
                }

                if (p.ID > taskNumber)
                {
                    p.ID--;
                }
            }

            if (temp.ID == 0)
            {
                Console.WriteLine("Couldnt find task looking for!");
            }

            else
            {
                taskList.Remove(temp);
                Console.WriteLine("Completed #{0} {1}", temp.ID, temp.task);
            }

            if (taskList.Count == 0)
            {
                Console.WriteLine("\nGood job, you completed all tasks!\nType <Add \"MyTask\"> for creating new tasks");
            }

            HandleJson.WriteToJsonFile <List <TodoNote> >(path, taskList);
        }
Пример #5
0
        // Test adding to a empty Json file
        public void TestAddEmptyJsonFile()
        {
            // Start with a empty test
            List <TodoNote> updateList = new List <TodoNote>();

            HandleJson.WriteToJsonFile <List <TodoNote> >("Test.json", updateList);

            TodoNote addObject  = new TodoNote();
            string   testString = "This is a test string!";

            addObject.AddTask(testString, "Test.json");

            TodoNote        temp     = new TodoNote();
            List <TodoNote> todoList = HandleJson.ReadFromJsonFile <List <TodoNote> >("Test.json");

            int    lastTodo        = todoList.Count;
            string containedString = todoList[0].task;

            // The first object should be printed as the first position
            Assert.Equal(testString, containedString);
        }
Пример #6
0
        public void TestAppendToJsonFile()
        {
            List <TodoNote> updateList = new List <TodoNote>();

            HandleJson.WriteToJsonFile <List <TodoNote> >("Test.json", updateList);

            TodoNote addObject   = new TodoNote();
            string   testString  = "This is a new test!";
            string   testString2 = "Append to the now test!";

            addObject.AddTask(testString, "Test.json");
            addObject.AddTask(testString2, "Test.json");

            TodoNote        temp     = new TodoNote();
            List <TodoNote> todoList = HandleJson.ReadFromJsonFile <List <TodoNote> >("Test.json");

            int    lastTodo    = todoList.Count;
            string expectTest2 = todoList[lastTodo - 1].task;

            // Last TODO object should be the last element
            Assert.Equal(testString2, expectTest2);
        }