public void ValueProviderFactories_Calls_Inner() { // Arrange Mock <HttpParameterDescriptor> mockParamDescriptor = new Mock <HttpParameterDescriptor>() { CallBase = true }; mockParamDescriptor.Setup(d => d.ParameterName).Returns("paramName"); mockParamDescriptor.Setup(d => d.ParameterType).Returns(typeof(string)); Mock <IModelBinder> mockModelBinder = new Mock <IModelBinder>() { CallBase = true }; Mock <ValueProviderFactory> mockValueProviderFactory = new Mock <ValueProviderFactory>() { CallBase = true }; List <ValueProviderFactory> expectedFactories = new List <ValueProviderFactory> { mockValueProviderFactory.Object }; ModelBinderParameterBinding binding = new ModelBinderParameterBinding(mockParamDescriptor.Object, mockModelBinder.Object, expectedFactories); HttpParameterBindingTracer tracer = new HttpParameterBindingTracer(binding, new TestTraceWriter()); // Act List <ValueProviderFactory> actualFactories = tracer.ValueProviderFactories.ToList(); // Assert Assert.Equal(expectedFactories, actualFactories); }
public void BindWithModelBinding_Default() { HttpParameterDescriptor param = CreateParameterDescriptor(); ModelBinderParameterBinding binding = (ModelBinderParameterBinding)param.BindWithModelBinding(); Assert.NotNull(binding); }
public void BindWithModelBinding_IModelBinder() { HttpParameterDescriptor param = CreateParameterDescriptor(); var binder = new CustomModelBinder(); ModelBinderParameterBinding binding = (ModelBinderParameterBinding)param.BindWithModelBinding(binder); Assert.NotNull(binding); Assert.Equal(binder, binding.Binder); }
public void BindWithModelBinding_Attribute() { HttpParameterDescriptor param = CreateParameterDescriptor(); ModelBinderAttribute attribute = new ModelBinderAttribute(typeof(CustomModelBinder)); ModelBinderParameterBinding binding = (ModelBinderParameterBinding)param.BindWithAttribute(attribute); Assert.NotNull(binding); Assert.IsType <CustomModelBinder>(binding.Binder); }
public void BindWithModelBinding_ValueProviderFactory_Array() { HttpParameterDescriptor param = CreateParameterDescriptor(); ModelBinderParameterBinding binding = (ModelBinderParameterBinding)param.BindWithModelBinding(new CustomValueProviderFactory1(), new CustomValueProviderFactory2()); Assert.NotNull(binding); ValueProviderFactory[] vpfs = binding.ValueProviderFactories.ToArray(); Assert.Equal(2, vpfs.Length); Assert.IsType <CustomValueProviderFactory1>(vpfs[0]); Assert.IsType <CustomValueProviderFactory2>(vpfs[1]); }
public void GetBinding_ReturnsSameBindingTypeAsODataModelBinderProvider() { HttpConfiguration config = new HttpConfiguration(); Type parameterType = typeof(Guid); Mock <ParameterInfo> parameterInfoMock = new Mock <ParameterInfo>(); parameterInfoMock.Setup(info => info.ParameterType).Returns(parameterType); ReflectedHttpParameterDescriptor parameter = new ReflectedHttpParameterDescriptor(); parameter.Configuration = config; parameter.ParameterInfo = parameterInfoMock.Object; HttpParameterBinding binding = new FromODataUriAttribute().GetBinding(parameter); ModelBinderParameterBinding modelBinding = Assert.IsType <ModelBinderParameterBinding>(binding); Assert.Equal(new ODataModelBinderProvider().GetBinder(config, parameterType).GetType(), modelBinding.Binder.GetType()); }
public static bool WillReadUri(this HttpParameterBinding parameterBinding) { if (parameterBinding == null) { throw Error.ArgumentNull("parameterBinding"); } ModelBinderParameterBinding modelParameterBinding = parameterBinding as ModelBinderParameterBinding; if (modelParameterBinding != null) { if (modelParameterBinding.ValueProviderFactories.All(factory => factory is IUriValueProviderFactory)) { return(true); } } return(false); }