public void TryRemapFromInt_ShouldSucceedAndReturnDegree_WhenConvertingFromMasters7()
        {
            bool success = ProgrammeLevelHelper.TryRemapFromInt(7, out ProgrammeLevel result);

            success.Should().Be(true);
            result.Should().Be(ProgrammeLevel.Degree);
        }
        public void TryRemapFromInt_ShouldSucceedAndReturnHigher_WhenConvertingFromFoundation5()
        {
            bool success = ProgrammeLevelHelper.TryRemapFromInt(5, out ProgrammeLevel result);

            success.Should().Be(true);
            result.Should().Be(ProgrammeLevel.Higher);
        }
        public void TryRemapFromInt_ShouldFail_WhenPassedAnIntWithNoCorrespondingValue()
        {
            int  intValueToConvert = (int)ProgrammeLevel.Degree + 2;
            bool success           = ProgrammeLevelHelper.TryRemapFromInt(intValueToConvert, out ProgrammeLevel result);

            success.Should().Be(false);
            result.Should().Be(ProgrammeLevel.Unknown);
        }
        public void RemapFromInt_ShouldThrowArgumentException_WhenPassedAnIntWithNoCorrespondingValue()
        {
            int intValueToConvert = (int)ProgrammeLevel.Degree + 2;

            Assert.Throws <ArgumentException>(() =>
            {
                ProgrammeLevelHelper.RemapFromInt(intValueToConvert);
            });
        }
        public void RemapFromInt_ShouldReturnCorrectEnum_WhenPassedAnIntWithCorrespondingValue()
        {
            var enumValues = Enum.GetValues(typeof(ProgrammeLevel))
                             .OfType <ProgrammeLevel>();

            foreach (ProgrammeLevel enumValue in enumValues)
            {
                ProgrammeLevel result = ProgrammeLevelHelper.RemapFromInt((int)enumValue);
                result.Should().Be(enumValue);
            }
        }
        public void TryRemapFromInt_ShouldSucceedAndReturnEnum_WhenPassedAnIntWithCorrespondingValue()
        {
            var enumValues = Enum.GetValues(typeof(ProgrammeLevel))
                             .OfType <ProgrammeLevel>();

            foreach (ProgrammeLevel enumValue in enumValues)
            {
                bool success = ProgrammeLevelHelper.TryRemapFromInt((int)enumValue, out ProgrammeLevel result);
                success.Should().Be(true);
                result.Should().Be(enumValue);
            }
        }
        public static IEnumerable <ApprenticeshipProgramme> FilterAndMapToApprenticeshipProgrammes(this IEnumerable <FrameworkSummary> frameworks)
        {
            if (frameworks == null)
            {
                return(Enumerable.Empty <ApprenticeshipProgramme>());
            }

            return(frameworks.Select(x => new ApprenticeshipProgramme
            {
                Id = x.Id,
                ApprenticeshipType = TrainingType.Framework,
                Title = x.Title,
                IsActive = IsFrameworkActive(x),
                EffectiveFrom = x.EffectiveFrom,
                EffectiveTo = x.EffectiveTo,
                Level = ProgrammeLevelHelper.RemapFromInt(x.Level),
                EducationLevelNumber = x.Level,
                Duration = x.Duration
            }));
        }
        public void RemapFromInt_ShouldReturnDegree_WhenConvertingFromMasters7()
        {
            ProgrammeLevel result = ProgrammeLevelHelper.RemapFromInt(7);

            result.Should().Be(ProgrammeLevel.Degree);
        }
        public void RemapFromInt_ShouldReturnHigher_WhenConvertingFromFoundation5()
        {
            ProgrammeLevel result = ProgrammeLevelHelper.RemapFromInt(5);

            result.Should().Be(ProgrammeLevel.Higher);
        }