Пример #1
0
        public void Validate_GivenMultiplealidComplexValueWithOneInvalid_Throw()
        {
            var validator = new MultiValueValidator();

            validator.ComplexValueValidator = new ComplexValueValidator
            {
                SimpleValueValidators = new[] { SimpleValueValidator.Create("key", "value") }
            };
            var multiValue = new MultiValue();

            multiValue.ComplexValues.Add(new ComplexValue
            {
                SimpleValues = new[] { new SimpleValue("key", "value") }
            });
            multiValue.ComplexValues.Add(new ComplexValue
            {
                SimpleValues = new[] { new SimpleValue("key", "value") }
            });
            multiValue.ComplexValues.Add(new ComplexValue
            {
                SimpleValues = new[] { new SimpleValue("key", "unknown") }
            });

            validator.Validate(multiValue);
        }
Пример #2
0
        public void Validate_GivenInvalidValue_Throw()
        {
            var validator = new MultiValueValidator();

            validator.SimpleValueValidator = SimpleValueValidator.Create("key", "expected value");
            var multiValue = new MultiValue();

            multiValue.SimpleValues.Add("invalid value");

            validator.Validate(multiValue);
        }
Пример #3
0
        public void Validate_GivenZeroValues()
        {
            var validator = new MultiValueValidator
            {
                Min = 0,
                Max = 3
            };

            validator.SimpleValueValidator = SimpleValueValidator.Create("key", "value");
            var multiValue = new MultiValue();

            validator.Validate(multiValue);
        }
Пример #4
0
        public void Validate_GivenValidSimpleValue()
        {
            var validator = new MultiValueValidator
            {
                Max = 1
            };

            validator.SimpleValueValidator = SimpleValueValidator.Create("key", "value");
            var multiValue = new MultiValue();

            multiValue.SimpleValues.Add("value");

            validator.Validate(multiValue);
        }
Пример #5
0
        public void Validate_NumberOfSimpleValueSExeedMax_Throw()
        {
            var validator = new MultiValueValidator
            {
                Min = 0,
                Max = 1
            };

            validator.SimpleValueValidator = SimpleValueValidator.Create("key", "value");
            var multiValue = new MultiValue();

            multiValue.SimpleValues.Add("value1");
            multiValue.SimpleValues.Add("value2");

            validator.Validate(multiValue);
        }
        private static IEnumerable <MultiValueValidator> FindMultiValueValidators(XContainer parent)
        {
            foreach (var multiElement in parent.Elements("MultiValue"))
            {
                var multi = new MultiValueValidator();

                multi.Id  = multiElement.Attribute("Id").Value;
                multi.Min = StringToUint(multiElement.Attribute("Min").Value);
                multi.Max = StringToUint(multiElement.Attribute("Max").Value);

                multi.ComplexValueValidator = FindComplexValueValidators(multiElement).SingleOrDefault();
                multi.SimpleValueValidator  = FindSimpleValueValidator(multiElement).SingleOrDefault();

                yield return(multi);
            }
        }
Пример #7
0
        public void Validate_GivenInvalidComplexValue()
        {
            var validator = new MultiValueValidator();

            validator.ComplexValueValidator = new ComplexValueValidator
            {
                SimpleValueValidators = new[] { SimpleValueValidator.Create("key", "expected value") }
            };
            var multiValue = new MultiValue();

            multiValue.ComplexValues.Add(new ComplexValue
            {
                SimpleValues = new[] { new SimpleValue("key", "invalid value") }
            });

            validator.Validate(multiValue);
        }
Пример #8
0
        public void Validate_GivenMultipleValidSimpleValue()
        {
            var validator = new MultiValueValidator
            {
                Min = 0,
                Max = 3
            };

            validator.SimpleValueValidator = SimpleValueValidator.Create("key", "value");
            var multiValue = new MultiValue();

            multiValue.SimpleValues.Add("value1");
            multiValue.SimpleValues.Add("value2");
            multiValue.SimpleValues.Add("value3");

            validator.Validate(multiValue);
        }
Пример #9
0
        public void Validate_GivenNull_Throw()
        {
            var validator = new MultiValueValidator();

            validator.Validate(null);
        }