public void IsValidShouldReturnFalseIfTheSpecifiedValueIsNotIComparable()
        {
            BetweenValidator validator = new BetweenValidator(-5, 5);

            Assert.IsFalse(validator.IsValid(new Dictionary <string, object>()));
            Assert.IsFalse(validator.IsValid(new List()));
        }
        public void IsValidShouldReturnFalseIfTheSpecifiedValueIsNotBetweenBoundaries()
        {
            BetweenValidator validator = new BetweenValidator(-5, 5);

            Assert.IsFalse(validator.IsValid(10));
            Assert.IsFalse(validator.IsValid(-10));
        }
        public void IsValidShouldReturnTrueIfTheSpecifiedValueIsBetweenBoundaries()
        {
            BetweenValidator validator = new BetweenValidator(-5, 5);

            Assert.IsTrue(validator.IsValid(1));
            Assert.IsTrue(validator.IsValid(0));
        }
        public void FromValueAndToValuePropertiesShouldBeSetCorrectly()
        {
            BetweenValidator validator = new BetweenValidator(5, 10);

            Assert.AreEqual(5, validator.FromValue);
            Assert.AreEqual(10, validator.ToValue);
        }
        public void IsValidShouldReturnFalseIfTheSpecifiedValueIsNotSameType()
        {
            BetweenValidator validator = new BetweenValidator(-5, 5);

            Assert.IsFalse(validator.IsValid("0"));
            Assert.IsFalse(validator.IsValid(5M));
            Assert.IsFalse(validator.IsValid(5F));
        }
            public void ShouldBeInvalidIfValueOutsideRange(IComparable value, IComparable min, IComparable max)
            {
                // Arrange
                var validator = new BetweenValidator(min, max);

                // Act
                validator.Validate(value);

                // Assert
                validator.IsInvalid.ShouldBe(true);
            }
            public void ShouldBeValidIfValueWithinRange(IComparable value, IComparable min, IComparable max)
            {
                // Arrange
                var validator = new BetweenValidator(min, max);

                // Act
                validator.Validate(value);

                // Assert
                validator.IsInvalid.ShouldBe(false);
            }
            public void ShouldBeDirtyOnceValidated()
            {
                // Arrange
                int value     = 1;
                var validator = new BetweenValidator(0, 2);

                // Act
                validator.Validate(value);

                // Assert
                validator.IsDirty.ShouldBe(true);
            }
        public void GetValidator()
        {
            int @from = 1;
            int to    = 2;
            BetweenValidationAttribute betweenValidationAttribute = new BetweenValidationAttribute(@from, to);

            Assert.IsInstanceOf(typeof(BetweenValidator), betweenValidationAttribute.GetValidator());

            BetweenValidator betweenValidator = (BetweenValidator)betweenValidationAttribute.GetValidator();

            Assert.AreEqual(@from, betweenValidator.FromValue);
            Assert.AreEqual(@to, betweenValidator.ToValue);
        }
Exemple #10
0
        private ValidationMessage Between <TProp>(
            TProp value,
            TProp from,
            TProp to,
            IComparer <TProp> comparer = null,
            ValidationMessageType validationMessageType = ValidationMessageType.Error)
            where TProp : IComparable <TProp>
        {
            var betweenValidator  = new BetweenValidator <TestValidatableObject, TProp>(_ => from, _ => to, comparer, validationMessageType);
            var context           = new ValidationContext <TestValidatableObject, TProp>(null, nameof(TestValidatableObject.Number), null, value);
            var validationMessage = betweenValidator.ValidateProperty(context).FirstOrDefault();

            return(validationMessage);
        }
        public void IsValidShouldReturnTrueIfTheSpecifiedValueIsNull()
        {
            BetweenValidator validator = new BetweenValidator(-5, 5);

            Assert.IsTrue(validator.IsValid(null));
        }