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>))); }
public void IsTypeValidForParsing_StringArray_False() { Assert.IsFalse(ArrayToSpecifiedListParser.IsTypeValidForParsing(typeof(string[]))); }