Exemple #1
0
 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);
        }