Beispiel #1
0
        public void GreaterThanAttribute_SetsMinimum()
        {
            Decimal actual   = new GreaterThanAttribute(12.56).Minimum;
            Decimal expected = 12.56M;

            Assert.Equal(expected, actual);
        }
Beispiel #2
0
        public void GreaterThanAttribute_SetsMinimumFromInteger()
        {
            Decimal actual   = new GreaterThanAttribute(10).Minimum;
            Decimal expected = 10M;

            Assert.Equal(expected, actual);
        }
Beispiel #3
0
        public void FormatErrorMessage_ForInteger()
        {
            attribute = new GreaterThanAttribute(10);

            String expected = String.Format(Validations.GreaterThan, "Sum", attribute.Minimum);
            String actual   = attribute.FormatErrorMessage("Sum");

            Assert.Equal(expected, actual);
        }
Beispiel #4
0
        public void FormatErrorMessage_ForName()
        {
            attribute = new GreaterThanAttribute(12.56);

            String actual   = attribute.FormatErrorMessage("Sum");
            String expected = Validation.For("GreaterThan", "Sum", attribute.Minimum);

            Assert.Equal(expected, actual);
        }
Beispiel #5
0
        public void FormatErrorMessage_FormatsErrorMessageForDouble()
        {
            attribute = new GreaterThanAttribute(12.56);

            String expected = String.Format(Validations.FieldMustBeGreaterThan, "Sum", attribute.Minimum);
            String actual   = attribute.FormatErrorMessage("Sum");

            Assert.Equal(expected, actual);
        }
Beispiel #6
0
        public void CanGenerateEvaluatedRuleForGreaterThanAttribute()
        {
            var handler              = new SimpleRuleHandler();
            var targetProp           = typeof(Registration).GetProperty("EndDate");
            var greaterThanAttribute = new GreaterThanAttribute("StartDate");
            var evaluatedRule        = handler.GenerateEvaluatedRule <Registration>(greaterThanAttribute, targetProp);

            Assert.IsNotNull(evaluatedRule);
            Assert.AreEqual("End Date should be Greater Than the Start Date.", evaluatedRule.MessageFormat);
            Assert.IsNotNull(evaluatedRule.Expression);
        }
        public void When_Value_Type_Is_Numeric_And_Greater_Than_Required_Then_Valid(Type type, object value)
        {
            // Arrange
            var greaterThanAttribute = new GreaterThanAttribute(2);
            var typedValue           = Convert.ChangeType(value, type);

            // Act
            var isValid = greaterThanAttribute.IsValid(typedValue);

            // Assert
            isValid.Should().BeTrue();
        }
        public void When_Value_Is_Less_Than_Required_Then_Invalid()
        {
            // Arrange
            var greaterThanAttribute = new GreaterThanAttribute(2);
            var value = 0;

            // Act
            var isValid = greaterThanAttribute.IsValid(value);

            // Assert
            isValid.Should().BeFalse();
        }
        public void When_Value_Is_Greater_Than_Required_Value_Then_Valid()
        {
            // Arrange
            var greaterThanAttribute = new GreaterThanAttribute(2);
            var value = 4;

            // Act
            var isValid = greaterThanAttribute.IsValid(value);

            // Assert
            isValid.Should().BeTrue();
        }
        public void When_Value_Type_Is_Not_Numeric_Then_Exception_Is_Thrown()
        {
            // Arrange
            var          greaterThanAttribute = new GreaterThanAttribute(10);
            const string typedValue           = "A String";

            // Act
            var exception = Assert.Throws <FormatException>(() => greaterThanAttribute.IsValid(typedValue));

            // Assert
            exception.Should().NotBeNull();
        }
Beispiel #11
0
        public void When_Object_Is_Null_Then_Valid()
        {
            // Arrange
            var    greaterThanAttribute = new GreaterThanAttribute(1);
            object nullObject           = null;

            // Act
            var isValid = greaterThanAttribute.IsValid(nullObject);

            // Assert
            Assert.IsTrue(isValid);
        }
Beispiel #12
0
        public void GreaterThan_EqualZero_FailedValidation()
        {
            // Arrange
            const int arg = 0;

            // Act
            var greaterThan = new GreaterThanAttribute(value: arg);
            var validation  = greaterThan.IsValid(value: arg);

            // Arrange
            Assert.False(condition: validation);
        }
Beispiel #13
0
        public void GreaterThan_GreaterThanZero_SuccessValidation()
        {
            // Arrange
            const int arg  = 0;
            const int arg1 = 1;

            // Act
            var greaterThan = new GreaterThanAttribute(value: arg);
            var validation  = greaterThan.IsValid(value: arg1);

            // Arrange
            Assert.True(condition: validation);
        }
Beispiel #14
0
        public void GetClientValidationRules_ReturnsGreaterValidationRule()
        {
            ModelMetadata      metadata = new DataAnnotationsModelMetadataProvider().GetMetadataForProperty(null, typeof(AdaptersModel), "GreaterThan");
            GreaterThanAdapter adapter  = new GreaterThanAdapter(metadata, new ControllerContext(), new GreaterThanAttribute(128));

            String expectedMessage           = new GreaterThanAttribute(128).FormatErrorMessage(metadata.GetDisplayName());
            ModelClientValidationRule actual = adapter.GetClientValidationRules().Single();

            Assert.Equal(128M, actual.ValidationParameters["min"]);
            Assert.Equal(expectedMessage, actual.ErrorMessage);
            Assert.Equal("greater", actual.ValidationType);
            Assert.Single(actual.ValidationParameters);
        }
Beispiel #15
0
        private static string BuildGreaterThan(string propertyPath, GreaterThanAttribute greaterThanAttribute)
        {
            switch (greaterThanAttribute.ReferenceType)
            {
            case ComparisonReferenceType.Static:
                return($"{propertyPath} IS GREATER THAN {greaterThanAttribute.LowerLimit}");

            case ComparisonReferenceType.OtherProperty:
                return($"{propertyPath} IS GREATER THAN {greaterThanAttribute.PropertyName}");

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        public void GetClientValidationRules_ReturnsGreaterValidationRule()
        {
            IServiceProvider       services = Substitute.For <IServiceProvider>();
            IModelMetadataProvider provider = new EmptyModelMetadataProvider();
            GreaterThanAdapter     adapter  = new GreaterThanAdapter(new GreaterThanAttribute(128));
            ModelMetadata          metadata = provider.GetMetadataForProperty(typeof(AdaptersModel), "GreaterThan");

            ClientModelValidationContext context = new ClientModelValidationContext(metadata, provider, services);
            String expectedMessage           = new GreaterThanAttribute(128).FormatErrorMessage("GreaterThan");
            ModelClientValidationRule actual = adapter.GetClientValidationRules(context).Single();

            Assert.Equal(128M, actual.ValidationParameters["min"]);
            Assert.Equal(expectedMessage, actual.ErrorMessage);
            Assert.Equal("greater", actual.ValidationType);
            Assert.Single(actual.ValidationParameters);
        }
Beispiel #17
0
        public void GetClientValidationRules_ReturnsMinRangeValidationRule()
        {
            ModelMetadata      metadata     = new DataAnnotationsModelMetadataProvider().GetMetadataForProperty(null, typeof(AdaptersModel), "MinValue");
            GreaterThanAdapter adapter      = new GreaterThanAdapter(metadata, new ControllerContext(), new GreaterThanAttribute(128));
            String             errorMessage = new GreaterThanAttribute(128).FormatErrorMessage(metadata.GetDisplayName());

            ModelClientValidationRule actual   = adapter.GetClientValidationRules().Single();
            ModelClientValidationRule expected = new ModelClientValidationRule();

            expected.ValidationParameters.Add("min", 128M);
            expected.ErrorMessage   = errorMessage;
            expected.ValidationType = "greater";

            Assert.Equal(expected.ValidationParameters["min"], actual.ValidationParameters["min"]);
            Assert.Equal(expected.ValidationParameters.Count, actual.ValidationParameters.Count);
            Assert.Equal(expected.ValidationType, actual.ValidationType);
            Assert.Equal(expected.ErrorMessage, actual.ErrorMessage);
        }
Beispiel #18
0
 public GreaterThanAttributeTests()
 {
     attribute = new GreaterThanAttribute(12.56);
 }