Beispiel #1
0
 public override ValidationRuleResult Execute()
 {
     return(!value.IsConcreteAngle()
                ? ValidationRuleResult.CreateInvalidResult(
                string.Format(Resources.NumberParameterRuleBase_Value_0_must_be_a_concrete_number, ParameterName))
                : ValidationRuleResult.ValidResult);
 }
Beispiel #2
0
 public override ValidationRuleResult Execute()
 {
     return(double.IsNaN(value) || double.IsInfinity(value)
                ? ValidationRuleResult.CreateInvalidResult(
                string.Format(Resources.NumberParameterRuleBase_Value_0_must_be_a_concrete_number, ParameterName))
                : ValidationRuleResult.ValidResult);
 }
Beispiel #3
0
 public override ValidationRuleResult Execute()
 {
     return(lowerLimit.CompareTo(value) >= 0
                ? ValidationRuleResult.CreateInvalidResult(
                string.Format(Resources.NumericRule_Value_0_must_be_greater_or_equal_to_LowerLimit_1_Current_value_2,
                              ParameterName, lowerLimit, value))
                : ValidationRuleResult.ValidResult);
 }
Beispiel #4
0
        public void CreateInvalidResult_WithInvalidMessage_ThrowsArgumentException(string invalidMessage)
        {
            // Call
            TestDelegate call = () => ValidationRuleResult.CreateInvalidResult(invalidMessage);

            // Assert
            const string expectedMessage = "Value cannot be null or whitespace.";

            TestHelper.AssertThrowsArgumentException <ArgumentException>(call, expectedMessage);
        }
Beispiel #5
0
        public void Validate_WithTwoInvalidModels_ExecutesAllRulesAndReturnsInvalidResult()
        {
            // Setup
            var validationRuleOne = Substitute.For <IDataModelValidationRule>();

            validationRuleOne.Execute().Returns(ValidationRuleResult.ValidResult);

            const string validationErrorOne       = "Validation Error One";
            var          invalidValidationRuleOne = Substitute.For <IDataModelValidationRule>();

            invalidValidationRuleOne.Execute().Returns(ValidationRuleResult.CreateInvalidResult(validationErrorOne));

            var invalidProviderOne = Substitute.For <IDataModelRuleProvider>();

            invalidProviderOne.GetDataModelValidationRules().Returns(new[]
            {
                validationRuleOne,
                invalidValidationRuleOne
            });

            var validationRuleTwo = Substitute.For <IDataModelValidationRule>();

            validationRuleTwo.Execute().Returns(ValidationRuleResult.ValidResult);

            const string validationErrorTwo       = "Validation Error Two";
            var          invalidValidationRuleTwo = Substitute.For <IDataModelValidationRule>();

            invalidValidationRuleTwo.Execute().Returns(ValidationRuleResult.CreateInvalidResult(validationErrorTwo));

            var invalidProviderTwo = Substitute.For <IDataModelRuleProvider>();

            invalidProviderTwo.GetDataModelValidationRules().Returns(new[]
            {
                validationRuleTwo,
                invalidValidationRuleTwo
            });

            IDataModelRuleProvider[] models =
            {
                invalidProviderOne,
                invalidProviderTwo
            };

            // Call
            DataModelValidatorResult result = DataModelValidator.Validate(models);

            // Assert
            Assert.That(result.IsValid, Is.False);
            CollectionAssert.AreEquivalent(new[]
            {
                validationErrorOne,
                validationErrorTwo
            }, result.ValidationMessages);
        }
Beispiel #6
0
        public void CreateInvalidResult_WithValidMessage_ReturnsExpectedValidationRuleResult()
        {
            // Setup
            const string message = "ValidationMessage";

            // Call
            ValidationRuleResult result = ValidationRuleResult.CreateInvalidResult(message);

            // Assert
            Assert.That(result.IsValid, Is.False);
            Assert.That(result.ValidationMessage, Is.EqualTo(message));
        }
Beispiel #7
0
        public void Validate_WithOneValidAndOneInvalidDataModel_ExecutesAllRulesAndReturnsInvalidResult()
        {
            // Setup
            var validationRuleOne = Substitute.For <IDataModelValidationRule>();

            validationRuleOne.Execute().Returns(ValidationRuleResult.ValidResult);

            var validProvider = Substitute.For <IDataModelRuleProvider>();

            validProvider.GetDataModelValidationRules().Returns(new[]
            {
                validationRuleOne
            });

            var validationRuleTwo = Substitute.For <IDataModelValidationRule>();

            validationRuleTwo.Execute().Returns(ValidationRuleResult.ValidResult);

            const string validationError       = "Validation Error";
            var          invalidValidationRule = Substitute.For <IDataModelValidationRule>();

            invalidValidationRule.Execute().Returns(ValidationRuleResult.CreateInvalidResult(validationError));

            var invalidProvider = Substitute.For <IDataModelRuleProvider>();

            invalidProvider.GetDataModelValidationRules().Returns(new[]
            {
                validationRuleTwo,
                invalidValidationRule
            });

            IDataModelRuleProvider[] models =
            {
                validProvider,
                invalidProvider
            };

            // Call
            DataModelValidatorResult result = DataModelValidator.Validate(models);

            // Assert
            Assert.That(result.IsValid, Is.False);
            CollectionAssert.AreEqual(new[]
            {
                validationError
            }, result.ValidationMessages);
        }