public void Flags_enum_invalid_when_using_outofrange_negative_value() { var inlineValidator = new InlineValidator <FlagsEnumPoco>(); inlineValidator.RuleFor(x => x.SByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.ByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.Int16Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt16Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int32Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt32Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int64Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt64Value).IsInEnum(); var poco = new FlagsEnumPoco(); poco.PopulateWithInvalidNegativeValues(); var result = inlineValidator.Validate(poco); result.IsValid.ShouldBeFalse(); result.Errors.SingleOrDefault(x => x.PropertyName == "SByteValue").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int16Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int32Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int64Value").ShouldNotBeNull(); }
public void Flags_enum_validates_correctly_when_using_zero_value() { var inlineValidator = Create_validator(); var poco = new FlagsEnumPoco(); // all default to zero var result = inlineValidator.Validate(poco); result.Errors.SingleOrDefault(x => x.PropertyName == "EnumWithNegativesValue").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "EnumWithOverlappingFlagsValue").ShouldNotBeNull(); result.Errors.Count().ShouldEqual(2); result.IsValid.ShouldBeFalse(); }
public void Flags_enum_valid_when_using_bitwise_value() { var inlineValidator = Create_validator(); var poco = new FlagsEnumPoco(); poco.PopulateWithValidValues(); var result = inlineValidator.Validate(poco); result.IsValid.ShouldBeTrue(); // special case - valid negative value poco.EnumWithNegativesValue = EnumWithNegatives.All; result = inlineValidator.Validate(poco); result.IsValid.ShouldBeTrue(); }
public void Flags_enum_invalid_when_using_outofrange_positive_value() { var inlineValidator = Create_validator(); var poco = new FlagsEnumPoco(); poco.PopulateWithInvalidPositiveValues(); var result = inlineValidator.Validate(poco); result.IsValid.ShouldBeFalse(); result.Errors.SingleOrDefault(x => x.PropertyName == "ByteValue").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "SByteValue").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int16Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "UInt16Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int32Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "UInt32Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int64Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "UInt64Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "EnumWithNegativesValue").ShouldNotBeNull(); }
public void Flags_enum_with_overlapping_flags_valid_when_using_bitwise_value() { var inlineValidator = new InlineValidator <FlagsEnumPoco>(); inlineValidator.RuleFor(x => x.EnumWithOverlappingFlagsValue).IsInEnum(); var poco = new FlagsEnumPoco(); // test all combinations poco.EnumWithOverlappingFlagsValue = EnumWithOverlappingFlags.A | EnumWithOverlappingFlags.B; inlineValidator.Validate(poco).IsValid.ShouldBeTrue(); poco.EnumWithOverlappingFlagsValue = EnumWithOverlappingFlags.B | EnumWithOverlappingFlags.C; inlineValidator.Validate(poco).IsValid.ShouldBeTrue(); poco.EnumWithOverlappingFlagsValue = EnumWithOverlappingFlags.A | EnumWithOverlappingFlags.C; inlineValidator.Validate(poco).IsValid.ShouldBeTrue(); poco.EnumWithOverlappingFlagsValue = EnumWithOverlappingFlags.A | EnumWithOverlappingFlags.B | EnumWithOverlappingFlags.C; inlineValidator.Validate(poco).IsValid.ShouldBeTrue(); }
public void Flags_enum_valid_when_using_bitwise_value() { var inlineValidator = new InlineValidator <FlagsEnumPoco>(); inlineValidator.RuleFor(x => x.SByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.ByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.Int16Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt16Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int32Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt32Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int64Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt64Value).IsInEnum(); var poco = new FlagsEnumPoco(); poco.PopulateWithValidValues(); var result = inlineValidator.Validate(poco); result.IsValid.ShouldBeTrue(); }
public void Flags_enum_valid_when_using_bitwise_value() { var inlineValidator = new InlineValidator<FlagsEnumPoco>(); inlineValidator.RuleFor(x => x.SByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.ByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.Int16Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt16Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int32Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt32Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int64Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt64Value).IsInEnum(); var poco = new FlagsEnumPoco(); poco.PopulateWithValidValues(); var result = inlineValidator.Validate(poco); result.IsValid.ShouldBeTrue(); }
public void Flags_enum_invalid_when_using_outofrange_positive_value() { var inlineValidator = new InlineValidator<FlagsEnumPoco>(); inlineValidator.RuleFor(x => x.SByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.ByteValue).IsInEnum(); inlineValidator.RuleFor(x => x.Int16Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt16Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int32Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt32Value).IsInEnum(); inlineValidator.RuleFor(x => x.Int64Value).IsInEnum(); inlineValidator.RuleFor(x => x.UInt64Value).IsInEnum(); var poco = new FlagsEnumPoco(); poco.PopulateWithInvalidPositiveValues(); var result = inlineValidator.Validate(poco); result.IsValid.ShouldBeFalse(); result.Errors.SingleOrDefault(x => x.PropertyName == "ByteValue").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "SByteValue").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int16Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "UInt16Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int32Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "UInt32Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "Int64Value").ShouldNotBeNull(); result.Errors.SingleOrDefault(x => x.PropertyName == "UInt64Value").ShouldNotBeNull(); }