From 06f91c8f18a2a2404e514eba48b2a71f76416998 Mon Sep 17 00:00:00 2001 From: Johan Reitan Date: Thu, 7 Aug 2025 15:56:42 +0200 Subject: [PATCH 1/2] domain-model not great, but most of the tests implemented --- domain-model.md | 21 +++++++ tdd-todo-list.CSharp.Main/Program.cs | 26 ++++++++ tdd-todo-list.CSharp.Main/TaskItem.cs | 45 ++++++++++++++ tdd-todo-list.CSharp.Main/ToDoList.cs | 82 +++++++++++++++++++++++++ tdd-todo-list.CSharp.Test/CoreTests.cs | 84 ++++++++++++++++++++++++-- tdd-todo-list.sln | 1 + 6 files changed, 254 insertions(+), 5 deletions(-) create mode 100644 domain-model.md create mode 100644 tdd-todo-list.CSharp.Main/TaskItem.cs diff --git a/domain-model.md b/domain-model.md new file mode 100644 index 00000000..d7198c95 --- /dev/null +++ b/domain-model.md @@ -0,0 +1,21 @@ +# Domain Model + +- I want to add tasks to my todo list. +- I want to see all the tasks in my todo list. +- I want to change the status of a task between incomplete and complete. +- I want to be able to get only the complete tasks. +- I want to be able to get only the incomplete tasks. +- I want to search for a task and receive a message that says it wasn't found if it doesn't exist. +- I want to remove tasks from my list. +- I want to see all the tasks in my list ordered alphabetically in ascending order. +- I want to see all the tasks in my list ordered alphabetically in descending order. +- I want to prioritise tasks e.g. low, medium, high +- I want to list all tasks by priority + + +| Classes | Methods/Properties | Scenario | Outputs | +|-------------------|-------------------------------|---------------|-----------| +|ToDoList.cs |AddTask(Task t) |adds task t to the todolist |void | +|ToDoList.cs |PrintAllTasks() |prints out all tasks |void | +|ToDoList.cs |AddTask(Task t) |adds task t to the todolist |void | +|ToDoList.cs |AddTask(Task t) |adds task t to the todolist |void | \ No newline at end of file diff --git a/tdd-todo-list.CSharp.Main/Program.cs b/tdd-todo-list.CSharp.Main/Program.cs index 3751555c..88b15d50 100644 --- a/tdd-todo-list.CSharp.Main/Program.cs +++ b/tdd-todo-list.CSharp.Main/Program.cs @@ -1,2 +1,28 @@ // See https://aka.ms/new-console-template for more information +using tdd_todo_list.CSharp.Main; +using TaskItem = tdd_todo_list.CSharp.Main.TaskItem; + Console.WriteLine("Hello, World!"); + +TodoList todoList = new TodoList(); +TaskItem t1 = new TaskItem(1,"vaske", "vaske trapp og kjeller", 3, "husarbeid"); +TaskItem t2 = new TaskItem(2, "rydde", "rydde kjøkken", 1, "husarbeid"); +TaskItem t3 = new TaskItem(3, "lade", "lade mobilen", 1, "annet", "complete"); +todoList.AddTask(t1); +todoList.AddTask(t2); +todoList.AddTask(t3); + +todoList.PrintAllTasks(); + +todoList.GetAllTasksInOrder(); +todoList.PrintAllTasks(); + +todoList.PrintListOfTasks(todoList.GetCompletedTasks()); +Console.WriteLine(); + +Console.WriteLine(todoList.GetTaskById(1)); + +todoList.UpdateNameById(1, "nyttNavn"); + +Console.WriteLine(); +todoList.PrintAllTasks(); \ No newline at end of file diff --git a/tdd-todo-list.CSharp.Main/TaskItem.cs b/tdd-todo-list.CSharp.Main/TaskItem.cs new file mode 100644 index 00000000..0dd51475 --- /dev/null +++ b/tdd-todo-list.CSharp.Main/TaskItem.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace tdd_todo_list.CSharp.Main +{ + public class TaskItem + { + + private int _id; + private string _status = "incomplete"; + private string _text; + private int _priority; + private string _category; + public DateTime _created; + public DateTime _completed; + + + public TaskItem(int id, string name, string text, int priority, string category, string status="incomplete") + { + _id = id; + Name = name; + _text = text; + _priority = priority; + _status = status; + _created = DateTime.Now; + + } + public string Status { get { return _status; } set { _status = Status; } } + public string Text { get { return _text; } } + public string Name { get; set; } + public int Id { get { return _id; } } + + override + public string ToString() + { + return $"name: {Name} - text: {_text} - priority: {_priority} - status: {_status}"; + } + + + + } +} diff --git a/tdd-todo-list.CSharp.Main/ToDoList.cs b/tdd-todo-list.CSharp.Main/ToDoList.cs index 835cb600..0f731257 100644 --- a/tdd-todo-list.CSharp.Main/ToDoList.cs +++ b/tdd-todo-list.CSharp.Main/ToDoList.cs @@ -8,5 +8,87 @@ namespace tdd_todo_list.CSharp.Main { public class TodoList { + private List _tasks = new List(); + + public TodoList() + { + + + } + + + public void AddTask(TaskItem task) + { + _tasks.Add(task); + } + + public void PrintAllTasks() + { + foreach (var task in _tasks) + { + Console.WriteLine(task.ToString()); + } + } + + public List GetAllTasks() + { + return _tasks; + } + + public void ChangeStatus(TaskItem task) + { + task.Status = (task.Status.Equals("incomplete") ? "complete" : "incomplete"); + } + + public List GetCompletedTasks() + { + return _tasks.Where(t => t.Status.Equals("complete")).ToList(); + } + + public List GetIncompleteTasks() + { + return _tasks.Where(t => t.Status.Equals("incomplete")).ToList(); + } + + public void RemoveTask(TaskItem task) + { + _tasks.Remove(task); + } + + public List GetAllTasksInOrder() + { + return _tasks.OrderBy(t => t.Name).ToList(); + } + + public List GetAllTasksInReverseOrder() + { + return _tasks.OrderByDescending(t => t.Name).ToList(); + } + + public void PrintListOfTasks(List tasks) + { + foreach(var task in tasks) + { + Console.WriteLine(task.ToString()); + } + } + + public TaskItem GetTaskById(int id) + { + return _tasks.FirstOrDefault(t => t.Id == id); + } + + public void UpdateNameById(int id, string name) + { + TaskItem t = GetTaskById(id); + t.Name = name; + } + + public void UpdateStatusById(int id, string status) + { + TaskItem t = GetTaskById(id); + t.Status = status; + } } + } diff --git a/tdd-todo-list.CSharp.Test/CoreTests.cs b/tdd-todo-list.CSharp.Test/CoreTests.cs index 084cce19..e975db75 100644 --- a/tdd-todo-list.CSharp.Test/CoreTests.cs +++ b/tdd-todo-list.CSharp.Test/CoreTests.cs @@ -1,17 +1,91 @@ -using tdd_todo_list.CSharp.Main; -using NUnit.Framework; +using NUnit.Framework; +using NUnit.Framework.Interfaces; +using tdd_todo_list.CSharp.Main; +using TaskItem = tdd_todo_list.CSharp.Main.TaskItem; namespace tdd_todo_list.CSharp.Test { [TestFixture] public class CoreTests { + List tempTaskItemList = new List(); + + TodoList todoList; + TaskItem t1; + TaskItem newTask1 = new TaskItem(4, "danse", "danse litt", 1, "hobby"); + TaskItem newTask2 = new TaskItem(4, "synge", "synge litt", 2, "hobby"); + [SetUp] + public void Init() + { + todoList = new TodoList(); + t1 = new TaskItem(1, "vaske", "vaske trapp og kjeller", 3, "husarbeid"); + TaskItem t2 = new TaskItem(2, "rydde", "rydde kjøkken", 1, "husarbeid"); + TaskItem t3 = new TaskItem(3, "lade", "lade mobilen", 1, "annet", "complete"); + todoList.AddTask(t1); + todoList.AddTask(t2); + todoList.AddTask(t3); + } + + + + + + [Test] + public void AddingOneTaskShouldBe4() + { + todoList.AddTask(newTask1); + Assert.That(todoList.GetAllTasksInOrder().Count, Is.EqualTo(4)); + } + + [Test] + public void RemovingOneTaskShouldBe2() + { + todoList.RemoveTask(todoList.GetTaskById(1)); + Assert.That(todoList.GetAllTasksInOrder().Count, Is.EqualTo(2)); + } + + [Test] + public void ChangingStatusToComplete() + { + todoList.ChangeStatus(t1); + Assert.That(t1.Status, Is.EqualTo("complete")); + } + + [Test] + public void GetAllTasksShouldBe3() + { + List taskItems = todoList.GetAllTasks(); + Assert.That(taskItems.Count, Is.EqualTo(3)); + } + + [Test] + public void GetAllCompleteTasks() + { + tempTaskItemList = todoList.GetCompletedTasks(); + + Assert.That(tempTaskItemList.All(t => t.Status == "complete"), Is.True); + } + + [Test] + public void GetAllIncompleteTasks() + { + tempTaskItemList = todoList.GetIncompleteTasks(); + + Assert.That(tempTaskItemList.All(t => t.Status == "incomplete"), Is.True); + } + + [Test] + public void GetTasksInOrderShouldBeInOrder() + { + tempTaskItemList = todoList.GetAllTasksInOrder(); + Assert.That(tempTaskItemList[0].Name.CompareTo(tempTaskItemList[1].Name) <= 0, Is.True); + } [Test] - public void FirstTest() + public void GetTasksInReverseOrderShouldBeInReverseOrder() { - TodoList core = new TodoList(); - Assert.Pass(); + tempTaskItemList = todoList.GetAllTasksInReverseOrder(); + Assert.That(tempTaskItemList[0].Name.CompareTo(tempTaskItemList[1].Name) >= 0, Is.True); } } } \ No newline at end of file diff --git a/tdd-todo-list.sln b/tdd-todo-list.sln index 66d24763..2a5e0bbd 100644 --- a/tdd-todo-list.sln +++ b/tdd-todo-list.sln @@ -10,6 +10,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{663B0373-6031-46F8-ADD5-9AF01A5E82D5}" ProjectSection(SolutionItems) = preProject .github\workflows\core-criteria.yml = .github\workflows\core-criteria.yml + domain-model.md = domain-model.md .github\workflows\extension-criteria.yml = .github\workflows\extension-criteria.yml README.md = README.md EndProjectSection From dd8221976fc2bda264098f755ef5564f3ca06b90 Mon Sep 17 00:00:00 2001 From: Johan Reitan Date: Fri, 8 Aug 2025 15:30:08 +0200 Subject: [PATCH 2/2] cleanup of domain-model --- domain-model.md | 27 ++++++++- tdd-todo-list.CSharp.Main/Program.cs | 34 +++++++++-- tdd-todo-list.CSharp.Main/TaskItem.cs | 44 ++++++++++++--- tdd-todo-list.CSharp.Main/ToDoList.cs | 38 ++++++++++--- tdd-todo-list.CSharp.Test/CoreTests.cs | 62 +++++++++++++++++---- tdd-todo-list.CSharp.Test/ExtensionTests.cs | 23 +++++++- 6 files changed, 190 insertions(+), 38 deletions(-) diff --git a/domain-model.md b/domain-model.md index d7198c95..a6491966 100644 --- a/domain-model.md +++ b/domain-model.md @@ -16,6 +16,27 @@ | Classes | Methods/Properties | Scenario | Outputs | |-------------------|-------------------------------|---------------|-----------| |ToDoList.cs |AddTask(Task t) |adds task t to the todolist |void | -|ToDoList.cs |PrintAllTasks() |prints out all tasks |void | -|ToDoList.cs |AddTask(Task t) |adds task t to the todolist |void | -|ToDoList.cs |AddTask(Task t) |adds task t to the todolist |void | \ No newline at end of file +|ToDoList.cs |GetAllTasks() |fetches out all tasks |List | +|TaskItem.cs |ChangeStatus() |flips boolean value of StatusComplete |void | +|ToDoList.cs |GetAllCompleteTasks() |fetches all tasks where statusComplete == true|List | +|ToDoList.cs |GetAllIncompleteTasks() |fetches all tasks where statusComplete == false|List | +|ToDoList.cs |DoesTaskExist(Task t) |Checks if a given task exists in toDoList|bool | +|ToDoList.cs |RemoveTask(Task t) |Removes a given TaskItem from todoList.|void | +|ToDoList.cs |GetAllTasksInOrder() |fetches all tasks in alphabetical order |List | +|ToDoList.cs |GetAllTasksInReverseOrder() |fetches all tasks in reverse alphabetical order |List | +|ToDoList.cs |GetTasksSortedByPriority() |fetches all tasks in order by priority |List | + + + +## Extension tests + +- I want to be able to get a task by a unique ID. +- I want to update the name of a task by providing its ID and a new name. +- I want to be able to change the status of a task by providing its ID. +- I want to be able to see the date and time that I created each task. +- I want to be able to see the date and time that I completed a task. +- I want to know which task took the longest amount of time to complete. +- I want to know which task took the shortest amount of time to complete. +- I want to know which tasks took longer than 5 days to complete. +- I want to categorise tasks e.g. study, work, admin etc +- I want to list all tasks by category \ No newline at end of file diff --git a/tdd-todo-list.CSharp.Main/Program.cs b/tdd-todo-list.CSharp.Main/Program.cs index 88b15d50..5ee493b4 100644 --- a/tdd-todo-list.CSharp.Main/Program.cs +++ b/tdd-todo-list.CSharp.Main/Program.cs @@ -5,9 +5,9 @@ Console.WriteLine("Hello, World!"); TodoList todoList = new TodoList(); -TaskItem t1 = new TaskItem(1,"vaske", "vaske trapp og kjeller", 3, "husarbeid"); -TaskItem t2 = new TaskItem(2, "rydde", "rydde kjøkken", 1, "husarbeid"); -TaskItem t3 = new TaskItem(3, "lade", "lade mobilen", 1, "annet", "complete"); +TaskItem t1 = new TaskItem("vaske", "vaske trapp og kjeller", 3, "husarbeid"); +TaskItem t2 = new TaskItem("rydde", "rydde kjøkken", 1, "husarbeid"); +TaskItem t3 = new TaskItem("lade", "lade mobilen", 1, "annet", true); todoList.AddTask(t1); todoList.AddTask(t2); todoList.AddTask(t3); @@ -25,4 +25,30 @@ todoList.UpdateNameById(1, "nyttNavn"); Console.WriteLine(); -todoList.PrintAllTasks(); \ No newline at end of file +todoList.PrintAllTasks(); + +Console.WriteLine(); +Console.WriteLine(); + +Console.WriteLine(t1.ToString()); +t1.ChangeStatus(); +Console.WriteLine(t1.ToString()); + +Console.WriteLine(); +Console.WriteLine(todoList.DoesTaskExistByName("rydde")); + +Console.WriteLine(); +Console.WriteLine(todoList.GetTaskById(1)); + +todoList.UpdateNameById(1, "nyttNavnForTest"); +todoList.PrintAllTasks(); +Console.WriteLine(t1.Name); + +Console.WriteLine(); +Console.WriteLine(t3.ShowDateTimeOfCreation()); + +Console.WriteLine(); +Console.WriteLine(t2.ShowDateTimeOfCompletion()); +t2.ChangeStatus(); +t2.ChangeStatus(); +Console.WriteLine(t2.ShowDateTimeOfCompletion()); \ No newline at end of file diff --git a/tdd-todo-list.CSharp.Main/TaskItem.cs b/tdd-todo-list.CSharp.Main/TaskItem.cs index 0dd51475..8d10b338 100644 --- a/tdd-todo-list.CSharp.Main/TaskItem.cs +++ b/tdd-todo-list.CSharp.Main/TaskItem.cs @@ -8,9 +8,11 @@ namespace tdd_todo_list.CSharp.Main { public class TaskItem { + private static int _nextId = 1; private int _id; - private string _status = "incomplete"; + private string _name; + private bool _statusComplete; private string _text; private int _priority; private string _category; @@ -18,28 +20,52 @@ public class TaskItem public DateTime _completed; - public TaskItem(int id, string name, string text, int priority, string category, string status="incomplete") + public TaskItem(string name, string text, int priority, string category, bool statusComplete=false) { - _id = id; - Name = name; + _id = _nextId++; + _name = name; _text = text; _priority = priority; - _status = status; + _statusComplete = statusComplete; _created = DateTime.Now; } - public string Status { get { return _status; } set { _status = Status; } } + public bool StatusComplete { get { return _statusComplete; } set { _statusComplete = value; } } public string Text { get { return _text; } } - public string Name { get; set; } + public string Name { get { return _name; } set { _name = value; } } public int Id { get { return _id; } } + public DateTime Completed { get { return _completed; } set { _completed = value; } } + public int Priority { get { return _priority; } } override public string ToString() { - return $"name: {Name} - text: {_text} - priority: {_priority} - status: {_status}"; + return $" id: {_id} name: {_name} - text: {_text} - priority: {_priority} - status: {_statusComplete}"; } - + public string ShowDateTimeOfCreation() + { + return _created.ToString() ; + } + + public string ShowDateTimeOfCompletion() + { + return _completed.ToString(); + } + + public void ChangeStatus() + { + _statusComplete = !_statusComplete; + _completed = _statusComplete ? DateTime.Now : DateTime.MaxValue; + } + + + + + + + + } } diff --git a/tdd-todo-list.CSharp.Main/ToDoList.cs b/tdd-todo-list.CSharp.Main/ToDoList.cs index 0f731257..bfb8a7ba 100644 --- a/tdd-todo-list.CSharp.Main/ToDoList.cs +++ b/tdd-todo-list.CSharp.Main/ToDoList.cs @@ -15,6 +15,8 @@ public TodoList() } + + //public List Tasks { get { return _tasks; } } public void AddTask(TaskItem task) @@ -37,17 +39,20 @@ public List GetAllTasks() public void ChangeStatus(TaskItem task) { - task.Status = (task.Status.Equals("incomplete") ? "complete" : "incomplete"); + task.StatusComplete = !task.StatusComplete; + + + task.Completed = task.StatusComplete ? DateTime.Now : DateTime.MaxValue; } public List GetCompletedTasks() { - return _tasks.Where(t => t.Status.Equals("complete")).ToList(); + return _tasks.Where(t => t.StatusComplete.Equals("complete")).ToList(); } public List GetIncompleteTasks() { - return _tasks.Where(t => t.Status.Equals("incomplete")).ToList(); + return _tasks.Where(t => t.StatusComplete.Equals("incomplete")).ToList(); } public void RemoveTask(TaskItem task) @@ -65,6 +70,11 @@ public List GetAllTasksInReverseOrder() return _tasks.OrderByDescending(t => t.Name).ToList(); } + public List GetAllTasksSortedByPriority() + { + return _tasks.OrderBy(t => t.Priority).ToList(); + } + public void PrintListOfTasks(List tasks) { foreach(var task in tasks) @@ -75,19 +85,31 @@ public void PrintListOfTasks(List tasks) public TaskItem GetTaskById(int id) { - return _tasks.FirstOrDefault(t => t.Id == id); + return _tasks.First(t => t.Id == id); } public void UpdateNameById(int id, string name) { - TaskItem t = GetTaskById(id); - t.Name = name; + + GetTaskById(id).Name = name; } - public void UpdateStatusById(int id, string status) + public void UpdateStatusById(int id, bool statusComplete) { TaskItem t = GetTaskById(id); - t.Status = status; + t.StatusComplete = statusComplete; + + t.Completed = t.StatusComplete ? DateTime.Now : DateTime.MaxValue; + } + + public bool DoesTaskExistByName(string name) + { + return _tasks.Any(t => t.Name == name); + } + + public bool DoesTaskExist(TaskItem t) + { + return _tasks.Contains(t); } } diff --git a/tdd-todo-list.CSharp.Test/CoreTests.cs b/tdd-todo-list.CSharp.Test/CoreTests.cs index e975db75..3df14dd4 100644 --- a/tdd-todo-list.CSharp.Test/CoreTests.cs +++ b/tdd-todo-list.CSharp.Test/CoreTests.cs @@ -12,15 +12,15 @@ public class CoreTests TodoList todoList; TaskItem t1; - TaskItem newTask1 = new TaskItem(4, "danse", "danse litt", 1, "hobby"); - TaskItem newTask2 = new TaskItem(4, "synge", "synge litt", 2, "hobby"); + TaskItem newTask1 = new TaskItem("danse", "danse litt", 1, "hobby"); + TaskItem newTask2 = new TaskItem("synge", "synge litt", 2, "hobby"); [SetUp] public void Init() { todoList = new TodoList(); - t1 = new TaskItem(1, "vaske", "vaske trapp og kjeller", 3, "husarbeid"); - TaskItem t2 = new TaskItem(2, "rydde", "rydde kjøkken", 1, "husarbeid"); - TaskItem t3 = new TaskItem(3, "lade", "lade mobilen", 1, "annet", "complete"); + t1 = new TaskItem("vaske", "vaske trapp og kjeller", 3, "husarbeid"); + TaskItem t2 = new TaskItem("rydde", "rydde kjøkken", 1, "husarbeid"); + TaskItem t3 = new TaskItem("lade", "lade mobilen", 1, "annet", true); todoList.AddTask(t1); todoList.AddTask(t2); todoList.AddTask(t3); @@ -40,15 +40,29 @@ public void AddingOneTaskShouldBe4() [Test] public void RemovingOneTaskShouldBe2() { - todoList.RemoveTask(todoList.GetTaskById(1)); - Assert.That(todoList.GetAllTasksInOrder().Count, Is.EqualTo(2)); + TodoList todoList1 = new TodoList(); + TaskItem newTask1 = new TaskItem("danse", "danse litt", 1, "hobby"); + TaskItem newTask2 = new TaskItem("synge", "synge litt", 2, "hobby"); + + todoList1.AddTask(newTask1); + todoList1.AddTask(newTask2); + + todoList1.RemoveTask(newTask1); + + + //todoList.RemoveTask(todoList.GetTaskById(2)); + //Assert.That(todoList.GetAllTasksInOrder().Count, Is.EqualTo(2)); + Assert.That(todoList1.GetAllTasks().Count, Is.EqualTo(1)); } [Test] public void ChangingStatusToComplete() { - todoList.ChangeStatus(t1); - Assert.That(t1.Status, Is.EqualTo("complete")); + TaskItem task1 = new TaskItem("test1", "dette er en test", 1, "vasking"); + todoList.AddTask(task1); + + task1.ChangeStatus(); + Assert.That(task1.StatusComplete, Is.True); } [Test] @@ -63,7 +77,7 @@ public void GetAllCompleteTasks() { tempTaskItemList = todoList.GetCompletedTasks(); - Assert.That(tempTaskItemList.All(t => t.Status == "complete"), Is.True); + Assert.That(tempTaskItemList.All(t => t.StatusComplete == true), Is.True); } [Test] @@ -71,7 +85,7 @@ public void GetAllIncompleteTasks() { tempTaskItemList = todoList.GetIncompleteTasks(); - Assert.That(tempTaskItemList.All(t => t.Status == "incomplete"), Is.True); + Assert.That(tempTaskItemList.All(t => t.StatusComplete == false), Is.True); } [Test] @@ -87,5 +101,31 @@ public void GetTasksInReverseOrderShouldBeInReverseOrder() tempTaskItemList = todoList.GetAllTasksInReverseOrder(); Assert.That(tempTaskItemList[0].Name.CompareTo(tempTaskItemList[1].Name) >= 0, Is.True); } + + [Test] + public void GetTasksSortedByPriorityShouldBeOrderedByPriority() + { + tempTaskItemList = todoList.GetAllTasksSortedByPriority(); + Assert.That(tempTaskItemList[0].Priority.CompareTo(tempTaskItemList[1].Priority) <= 0, Is.True); + } + + [Test] + public void TaskDoesExistShouldReturnTrue() + { + TaskItem tempTaskItem = new TaskItem("test", "test", 1, "test"); + todoList.AddTask(tempTaskItem); + + Assert.That(todoList.DoesTaskExist(tempTaskItem), Is.True); + } + + + [Test] + public void UpdatingNameShouldGiveNewName() + { + todoList.UpdateNameById(t1.Id, "johan"); + Assert.That(t1.Name, Is.EqualTo("johan")); + } + + } } \ No newline at end of file diff --git a/tdd-todo-list.CSharp.Test/ExtensionTests.cs b/tdd-todo-list.CSharp.Test/ExtensionTests.cs index bdc82ad7..05c67c3f 100644 --- a/tdd-todo-list.CSharp.Test/ExtensionTests.cs +++ b/tdd-todo-list.CSharp.Test/ExtensionTests.cs @@ -4,15 +4,32 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using NUnit.Framework; + +using tdd_todo_list.CSharp.Main; namespace tdd_todo_list.CSharp.Test { public class ExtensionTests { - private TodoListExtension _extension; - public ExtensionTests() + + [Test] + public void UpdatingName() { - _extension = new TodoListExtension(); + TodoList todoList = new TodoList(); + TaskItem taskItem1 = new TaskItem("vaske", "vaske kjeller", 1, "vasking"); + TaskItem taskItem2 = new TaskItem("rydde", "rydde kjøkken", 2, "rydding"); + + todoList.AddTask(taskItem1); + todoList.AddTask(taskItem2); + + todoList.UpdateNameById(taskItem1.Id, "nyttNavnForTest"); + + + + Assert.That(taskItem1.Name.Equals("nyttNavnForTest")); } + + } }