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 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);
            }
        }