Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions TaskSample/Task/Task.Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,22 @@ public void Create_Returns_TimecardIdentifier()
Task task = new Task();
Assert.That(task.Id, Is.Not.EqualTo(Guid.Empty));
}

[Test]
public void Given_TaskId_That_DoesNotExist_When_Getting_Task_Then_Returns_Null()
{
Task task = Task.Get(Guid.NewGuid());
Assert.That(task, Is.Null);
}

[Test]
public void Creating_Task_Get_Task_WithSameIdReturnsTaskWithMatchingTitle()
{
string expectedTitle = "My Task Title";

Task task = new Task(expectedTitle);
Task task2 = Task.Get(task.Id);

Assert.That(task2.Title, Is.EqualTo(expectedTitle));
}
}
9 changes: 9 additions & 0 deletions TaskSample/Task/Task.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
namespace TaskSample.Task;

public class Task
{
internal static List<Task> Storage { get; set; } = new List<Task>();

public string Title { get; set; }
public Guid Id { get; set; } = Guid.NewGuid();

public Task(string title = "")
{
this.Title = title;
Task.Storage.Add(this);
}

internal static Task Get(Guid guid)
{
return Task.Storage.FirstOrDefault(t => t.Id == guid);
}
}