public void BinderProperty() { // Arrange ParameterInfo pInfo = typeof(MyController).GetMethod("ParameterHasSingleModelBinderAttribute").GetParameters()[0]; ReflectedParameterBindingInfo bindingInfo = new ReflectedParameterBindingInfo(pInfo); // Act IModelBinder binder = bindingInfo.Binder; // Assert Assert.IsInstanceOfType(binder, typeof(MyModelBinder)); }
public void ExcludePropertyReturnsEmptyArrayIfNoBindAttributeSpecified() { // Arrange ParameterInfo pInfo = typeof(MyController).GetMethod("ParameterHasNoBindAttributes").GetParameters()[0]; ReflectedParameterBindingInfo bindingInfo = new ReflectedParameterBindingInfo(pInfo); // Act ICollection<string> excludes = bindingInfo.Exclude; // Assert Assert.IsNotNull(excludes); Assert.AreEqual(0, excludes.Count); }
public void BinderPropertyThrowsIfMultipleBinderAttributesFound() { // Arrange ParameterInfo pInfo = typeof(MyController).GetMethod("ParameterHasMultipleModelBinderAttributes").GetParameters()[0]; ReflectedParameterBindingInfo bindingInfo = new ReflectedParameterBindingInfo(pInfo); // Act & assert ExceptionHelper.ExpectInvalidOperationException( delegate { IModelBinder binder = bindingInfo.Binder; }, "The parameter 'p1' on method 'Void ParameterHasMultipleModelBinderAttributes(System.Object)' contains multiple attributes that inherit from CustomModelBinderAttribute."); }
public ReflectedParameterDescriptor(ParameterInfo parameterInfo, ActionDescriptor actionDescriptor) { if (parameterInfo == null) { throw new ArgumentNullException("parameterInfo"); } if (actionDescriptor == null) { throw new ArgumentNullException("actionDescriptor"); } ParameterInfo = parameterInfo; _actionDescriptor = actionDescriptor; _bindingInfo = new ReflectedParameterBindingInfo(parameterInfo); }
public void IncludeProperty() { // Arrange ParameterInfo pInfo = typeof(MyController).GetMethod("ParameterHasBindAttribute").GetParameters()[0]; ReflectedParameterBindingInfo bindingInfo = new ReflectedParameterBindingInfo(pInfo); // Act ICollection<string> includes = bindingInfo.Include; // Assert Assert.IsInstanceOfType(includes, typeof(ReadOnlyCollection<string>)); string[] includesArray = includes.ToArray(); Assert.AreEqual(2, includesArray.Length); Assert.AreEqual("incl_a", includesArray[0]); Assert.AreEqual("incl_b", includesArray[1]); }
public void PrefixPropertyReturnsNullIfNoBindAttributeSpecified() { // Arrange ParameterInfo pInfo = typeof(MyController).GetMethod("ParameterHasNoBindAttributes").GetParameters()[0]; ReflectedParameterBindingInfo bindingInfo = new ReflectedParameterBindingInfo(pInfo); // Act string prefix = bindingInfo.Prefix; // Assert Assert.IsNull(prefix); }
public void PrefixProperty() { // Arrange ParameterInfo pInfo = typeof(MyController).GetMethod("ParameterHasBindAttribute").GetParameters()[0]; ReflectedParameterBindingInfo bindingInfo = new ReflectedParameterBindingInfo(pInfo); // Act string prefix = bindingInfo.Prefix; // Assert Assert.AreEqual("some prefix", prefix); }