internal EnumProperty(EntityMetadata entity, EnumPropertyBuilder builder, bool isPrimaryKey) : base(entity, builder, isPrimaryKey) { EnumType = builder.EnumTypeInfo.ClrType; IsFlag = builder.EnumTypeInfo.ClrType.GetTypeInfo().CustomAttributes.OfType <FlagsAttribute>().Any(); UnderlyingNumericType = builder.UnderlyingNumericType; }
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); }