public async Task DraftApprenticeshipTotalCountIsReportedCorrectly()
        {
            var fixture = new ConfirmDeleteViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            Assert.AreEqual(fixture.DraftApprenticeshipsResponse.DraftApprenticeships.Count, result.DraftApprenticeshipsCount);
        }
        public async Task LegalEntityNameIsMappedCorrectly()
        {
            var fixture = new ConfirmDeleteViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            Assert.AreEqual(fixture.Cohort.LegalEntityName, result.LegalEntityName);
        }
        public async Task CohortReferenceIsMappedCorrectly()
        {
            var fixture = new ConfirmDeleteViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            Assert.AreEqual(fixture.Source.CohortReference, result.CohortReference);
        }
        public async Task AccountHashedIdIsMappedCorrectly()
        {
            var fixture = new ConfirmDeleteViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            Assert.AreEqual(fixture.Source.AccountHashedId, result.AccountHashedId);
        }
        public async Task DraftApprenticeshipCourseCountOfApprenticeshipsIsMappedCorrectly()
        {
            var fixture = new ConfirmDeleteViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            foreach (var course in result.Courses)
            {
                var expectedCount = fixture.DraftApprenticeshipsResponse.DraftApprenticeships
                                    .Count(a => a.CourseName == course.CourseName);

                Assert.AreEqual(expectedCount, course.NumberOfDraftApprenticeships);
            }
        }
        public async Task DraftApprenticeshipCourseOrderIsByCourseName()
        {
            var fixture = new ConfirmDeleteViewModelMapperTestsFixture();
            var result  = await fixture.Map();

            var expectedSequence = fixture.DraftApprenticeshipsResponse.DraftApprenticeships
                                   .Select(c => c.CourseName)
                                   .Distinct()
                                   .OrderBy(c => c)
                                   .ToList();

            var actualSequence = result.Courses
                                 .Select(c => c.CourseName)
                                 .ToList();

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