Ejemplo n.º 1
0
        public void ParseUndefined_StringsList_Null()
        {
            // Act
            var result = (string[])ArrayToSpecifiedListParser.ParseUndefined(new[] { "val1", "val2" }, typeof(string[])) !;

            // Assert

            Assert.IsNull(result);
        }
        public void ParseUndefined_EnumList_ParsedCorrectly()
        {
            // Act
            var result = (IList <TestEnum>)ArrayToSpecifiedListParser.ParseUndefined(new[] { "2", "1" }, typeof(IList <TestEnum>));

            // Assert

            Assert.AreEqual(TestEnum.Value2, result[0]);
            Assert.AreEqual(TestEnum.Value1, result[1]);
        }
        /// <summary>
        /// Validates the specified model.
        /// </summary>
        /// <typeparam name="T">Model type</typeparam>
        /// <param name="model">The model.</param>
        /// <exception cref="ModelValidationException"></exception>
        public void Validate <T>(T model)
        {
            var type = typeof(T);

            foreach (var propInfo in type.GetProperties())
            {
                var isRequired = propInfo.CustomAttributes.Any(x => x.AttributeType == RequiredAttributeType);

                var isList = ArrayToSpecifiedListParser.IsTypeValidForParsing(propInfo.PropertyType);

                if (isRequired &&
                    ((isList && !ValidateList(propInfo.GetValue(model))) ||
                     (!isList && !Validate(propInfo.GetValue(model), propInfo))))
                {
                    throw new ModelValidationException($"Required property '{propInfo.Name}' is null or empty");
                }
            }
        }
 public void IsTypeValidForParsing_UndefinedGenericType_False()
 {
     Assert.Throws <ModelBindingException>(() => ArrayToSpecifiedListParser.IsTypeValidForParsing(typeof(IList <TestController1>)));
 }
 public void IsTypeValidForParsing_UndefinedType_False()
 {
     Assert.IsFalse(ArrayToSpecifiedListParser.IsTypeValidForParsing(typeof(TestController1)));
 }
 public void IsTypeValidForParsing_EnumList_True()
 {
     Assert.IsTrue(ArrayToSpecifiedListParser.IsTypeValidForParsing(typeof(IList <TestEnum>)));
 }
 public void IsTypeValidForParsing_IntList_True()
 {
     Assert.IsTrue(ArrayToSpecifiedListParser.IsTypeValidForParsing(typeof(IList <int>)));
 }
Ejemplo n.º 8
0
 public void IsTypeValidForParsing_StringArray_False()
 {
     Assert.IsFalse(ArrayToSpecifiedListParser.IsTypeValidForParsing(typeof(string[])));
 }