public void EnsureCourseDetailsReturnsData()
        {
            //Arrange
            var          repository = A.Fake <IFindACourseRepository>();
            const string courseId   = "c0a5dfeb-f2a6-4000-8272-ec1fa78df265";
            const string runId      = "6707d15a-5a19-4c18-9cc8-570573bb5d67";

            var returnedCourseDetails = new CourseDetails
            {
                Title             = "Maths in a unit test",
                Description       = "This is a maths in a top class description",
                EntryRequirements = "Bring yourself and a brain",
            };

            var findACourseService = new FindACourseService(repository);

            A.CallTo(() => repository.GetCourseDetails(courseId, runId)).Returns(returnedCourseDetails);

            //Act
            var result = findACourseService.GetCourseDetails(courseId, runId).Result;

            //Assert
            A.CallTo(() => repository.GetCourseDetails(courseId, runId)).MustHaveHappenedOnceExactly();
            Assert.Equal(returnedCourseDetails, result);
        }