public async Task HandleNonNullableEnumWithInvalidStringValue_Returns_DefaultValue()
        {
            var enumModelBinderService = new EnumPropertyBuilder();
            var invalidValue           = "Invalid string";

            var handledValue = await enumModelBinderService.BuildPropertyAsync(typeof(StudentTypes), invalidValue, CancellationToken.None);

            Assert.AreEqual(default(StudentTypes), (StudentTypes)handledValue);
        }
        public void HandleNullableEnumWithValidStringValue_Returns_ValidEnum()
        {
            var enumModelBinderService = new EnumPropertyBuilder();
            var goodString             = $"{nameof(StudentTypes.Good)}";

            var handledResult = enumModelBinderService.BuildPropertyAsync(typeof(StudentTypes?), goodString, CancellationToken.None)
                                .Result;

            Assert.AreEqual(StudentTypes.Good, handledResult);
        }