public async Task DraftApprenticesOrderIsByApprenticeName()
        {
            var fixture = new DetailsViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            foreach (var course in result.Courses)
            {
                var expectedSequence = fixture.DraftApprenticeshipsResponse.DraftApprenticeships
                                       .Where(a => a.CourseName == course.CourseName && a.CourseCode == course.CourseCode)
                                       .Select(a => $"{a.FirstName} {a.LastName}")
                                       .OrderBy(a => a)
                                       .ToList();

                var actualSequence = course.DraftApprenticeships.Select(a => a.DisplayName).ToList();

                fixture.AssertSequenceOrder(expectedSequence, actualSequence, (e, a) => e == a);
            }
        }
        public async Task DraftApprenticeshipCourseOrderIsByCourseName()
        {
            var fixture = new DetailsViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            var expectedSequence = fixture.DraftApprenticeshipsResponse.DraftApprenticeships
                                   .Select(c => new { c.CourseName, c.CourseCode })
                                   .Distinct()
                                   .OrderBy(c => c.CourseName).ThenBy(c => c.CourseCode)
                                   .ToList();

            var actualSequence = result.Courses
                                 .Select(c => new { c.CourseName, c.CourseCode })
                                 .OrderBy(c => c.CourseName).ThenBy(c => c.CourseCode)
                                 .ToList();

            fixture.AssertSequenceOrder(expectedSequence, actualSequence, (e, a) => e.CourseName == a.CourseName && e.CourseCode == a.CourseCode);
        }