コード例 #1
0
        public void ParameterName_SetNewValue_GetNewlySetValue(string newParamName)
        {
            // Setup
            var validationRule = new SimpleIntegerParsingRule();

            // Call
            validationRule.ParameterName = newParamName;

            // Assert
            Assert.AreEqual(newParamName, validationRule.ParameterName);
        }
コード例 #2
0
        public void Constructor_ExpectedValues()
        {
            // Setup
            var validationRule = new SimpleIntegerParsingRule();

            // Assert
            Assert.IsInstanceOf <ValidationRule>(validationRule);

            Assert.IsFalse(validationRule.ValidatesOnTargetUpdated);
            Assert.AreEqual(ValidationStep.RawProposedValue, validationRule.ValidationStep);

            Assert.AreEqual("Value", validationRule.ParameterName);
        }
コード例 #3
0
        public void Validate_NumberOfDieSidesNotIntegerString_ReturnInvalid(string paramName)
        {
            // Setup
            var validationRule = new SimpleIntegerParsingRule
            {
                ParameterName = paramName,
            };

            // Call
            ValidationResult result = validationRule.Validate("A", CultureInfo.CurrentCulture);

            // Assert
            Assert.IsFalse(result.IsValid);
            Assert.AreEqual($"{paramName} must be a whole number.", result.ErrorContent);
        }
コード例 #4
0
        public void Validate_ValueIsNotString_ReturnInvalid(string paramName)
        {
            // Setup
            var validationRule = new SimpleIntegerParsingRule
            {
                ParameterName = paramName,
            };

            // Call
            ValidationResult result = validationRule.Validate(new object(), CultureInfo.CurrentCulture);

            // Assert
            Assert.IsFalse(result.IsValid);
            Assert.AreEqual($"{paramName} must be specified.", result.ErrorContent);
        }
コード例 #5
0
        public void Validate_NumberOfDieSidesTooLarge_ReturnInvalid(int extremeValue)
        {
            // Setup
            var validationRule = new SimpleIntegerParsingRule();

            CultureInfo cultureInfo      = CultureInfo.CurrentCulture;
            string      overflowingValue = extremeValue.ToString(cultureInfo);

            // Call
            ValidationResult result = validationRule.Validate(overflowingValue, cultureInfo);

            // Assert
            Assert.IsTrue(result.IsValid);
            Assert.IsTrue(validationRule.TemplateMethodCalled);
        }
コード例 #6
0
        public void Validate_NumberOfDieSidesTooLarge_ReturnInvalid(string paramName, int extremeValue)
        {
            // Setup
            var validationRule = new SimpleIntegerParsingRule
            {
                ParameterName = paramName,
            };

            CultureInfo cultureInfo      = CultureInfo.CurrentCulture;
            string      overflowingValue = extremeValue.ToString(cultureInfo) + "1";

            // Call
            ValidationResult result = validationRule.Validate(overflowingValue, cultureInfo);

            // Assert
            Assert.IsFalse(result.IsValid);
            Assert.AreEqual($"{paramName} is too large or too small.", result.ErrorContent);
        }